課程
/前端開發
/JavaScript
/JavaScript深入淺出
use strict的小坑有點沒聽懂,什么abc可以?where 不可以?
2015-01-20
源自:JavaScript深入淺出 3-4
正在回答
hi, 親,意思是'use strict';指令并不一定要在第一行出現的,之前也可以有其它指令(字符串)。
但是不允許有其它語句,如變量聲明、賦值等。
例如下面例子中:
上面的use strict前面有abc,仍將進入嚴格模式,下面的不會進入嚴格模式。
!function()?{ 'abc'; 'use?strict'; console.log(this?===?undefined???"strict"?:?"not?strict"); }();
!function()?{ var?a; 'use?strict'; console.log(this?===?undefined???"strict"?:?"not?strict"); }();
'user strict'
'use strict'
這里就是use strict可以不出現在第一行,在use strict前可以使用其他的指令,而將use strict往后移,也是沒有問題的
舉報
由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握
1 回答use strict
2 回答!function(){'use strict';x=1;console.log(window.x)}() 沒有報錯
4 回答!function(){'use strict'; var obj={x:1,x:2};console.log(obj.x)}() 沒有報錯
2 回答javascript為什么那么多坑
4 回答課外小問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-01-20
hi, 親,意思是'use strict';指令并不一定要在第一行出現的,之前也可以有其它指令(字符串)。
但是不允許有其它語句,如變量聲明、賦值等。
例如下面例子中:
上面的use strict前面有abc,仍將進入嚴格模式,下面的不會進入嚴格模式。
!function()?{ 'abc'; 'use?strict'; console.log(this?===?undefined???"strict"?:?"not?strict"); }();!function()?{ var?a; 'use?strict'; console.log(this?===?undefined???"strict"?:?"not?strict"); }();2015-05-20
'user strict'
2015-01-20
'use strict'
2015-01-20
這里就是use strict可以不出現在第一行,在use strict前可以使用其他的指令,而將use strict往后移,也是沒有問題的