// file.js "use strict" function doStuff(){ // use strict is enabled here! }
如许挑的file.js都邑应用上”use strict”形式。
假如你仅想在一个函数中运用:
// file.js function a(){ "use strict"; // use strict is enabled in this context function nestedFunction(){ // and here too } }
优点
搜检对象中的反复键
var zombie = { eyeLeft : 0, eyeRight: 1, // ... a lot of keys ... eyeLeft : 1 }
这段代码会抛出一个毛病由于 eyeLeft 涌现了两次。这比你用眼睛去找毛病要快多了。
未声明变量
plane = 5;
你如今已晓得遗忘在这个变量前面加var了。不过假如你不晓得,调试起来是异常痛楚的,由于这个变量是声明在全局上下文(global context)中的,而且能够被其他地方改掉。设想一下,假如你声清楚明了一个全局的 i, 在嵌套循环中能够会引起杂沓。
反复的参数
function run(fromWhom, fromWhom){}
注重fromWho涌现了两次,因此会抛出一个毛病。
限定函数中的arguments
var run = function(fromWhom){ arguments[0] = 'alien'; alert(fromWhom); } run('zombie'); // alert: 'alien';
如今你能够运用”use strict”
var run = function(fromWhom){ "use strict"; arguments[0] = 'alien'; alert(fromWhom); } run('zombie'); // alert: 'zombie';
arguments[0] = 'alien'
改变了参数fromWhom,use strict 又勤俭了你的时候。