2017-03-18 52 views
-1

我想在Chrome控制檯中使用嚴格模式根據我讀這兩種方法應該工作,但只有方法1工作。在方法2中我做錯了一些事情,或者不可能使用像這樣的嚴格模式。嚴格模式在鉻控制檯不工作

方法1:

(function f(){ 
    'use strict'; 
    function fn(text){herd=text; console.log(herd);} 
    fn("Hi Welcome"); 
    })(); 

方法1

的輸出
VM1139:3 Uncaught ReferenceError: herd is not defined 
    at fn (<anonymous>:3:23) 
    at f (<anonymous>:4:1) 
    at <anonymous>:5:3 

方法2:

'use strict'; 
function fnete(text) {as=text; console.log(as);} 


'use strict'; fnete("hi"); 

方法2

hi 
的輸出

附加錯誤的圖像。 enter image description here

+0

在Chrome 57它不工作 – Naveen

+0

對我來說,鉻57拋出一個'VM1721:2未捕獲的ReferenceError:如未定義「錯誤。但爲什麼你要確保控制檯中的嚴格模式呢? –

+0

我正在學習嚴格模式。 – Naveen

回答

1

我認爲方法2中的問題是您的變量名稱是as這是一個關鍵字。

嘗試方法2使用相同的變量名herd可能獲取相同的結果作爲方法1

+0

然後瀏覽器會抱怨。但是OP詢問爲什麼**沒有**錯誤在OP期望拋出錯誤的情況下拋出。 –

+0

感謝它的工作。 – Naveen

+1

@Naveen如果它在使用'as'之前沒有顯示錯誤,但是現在如果將其更改爲'herd'則顯示一個錯誤,那麼resone就在其他位置。也許你在其中運行命令的頁面已經定義了「as」。 –