2011-05-26 64 views

回答

5

是的,這是可能做到這一點使用strict mode。通過在文件或函數的頂部放置一個包含字符串文字"use strict"的語句來啓用它,以便爲該範圍啓用嚴格模式。

"use strict"; 
doesNotExist = 42; // this throws a ReferenceError 

這是ECMAScript 5中的一項新功能,目前尚未被所有瀏覽器支持。但是,由於"use strict";是一個無效的有效語句,因此不支持它的瀏覽器會忽略它。因此,您可以使用它在開發過程中捕獲錯誤,但不要依賴它在用戶的瀏覽器中拋出異常。

+0

據我所知,嚴格模式只在Firefox中實現。我無法在其他地方找到它。嚴格模式由於其範圍的工作原因是危險的。它適用於包含的文件,但不適用於函數內部。 – yakatz 2011-05-26 04:38:53

+0

@yakatz:Chrome至少有部分支持。 [嘗試此測試](http://java-script.limewebs.com/strictMode/test_hosted.html)查看它在您的瀏覽器中的支持情況。 – hammar 2011-05-26 04:50:43

+0

Chrome 12(測試版):37/38。 IE9:0/38 ;-) – yakatz 2011-05-26 04:54:54

4

你正在尋找其他語言(我認爲它來自Visual Basic中)有時被稱爲Option Explicit的功能。 JavaScript沒有它。
如果你正在尋找一種方式來檢查變量的使用,儘量JSLint

+2

+1 JSLint的和類似的工具 - JavaScript有更多的陷阱,然後只是偶然全局擔心以及。 – hugomg 2011-05-26 05:20:46

0

簡單地說,沒有。 JS是動態的,沒有經典的輸入。可以的話,按照慣例創建自己的全局對象(1或以上)只使用/這些對象的屬性,可能緩解這種風險

相關問題