为何运用"use strict"能够勤俭你的时候

// 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 又勤俭了你的时候。

    原文作者:CodeMan
    原文地址: https://segmentfault.com/a/1190000008866802
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞