Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在JavaScript库中使用“严格模式”?_Javascript_Ecmascript 5 - Fatal编程技术网

为什么在JavaScript库中使用“严格模式”?

为什么在JavaScript库中使用“严格模式”?,javascript,ecmascript-5,Javascript,Ecmascript 5,可能重复: 实际上,我知道使用strict在JavaScript中做了什么,正如这里所问的问题: 但是我不明白为什么我们应该在JavaScript库中使用strict模式?我是说使用它有什么好处 您链接的问题、答案以及它提供的参考资料列出了使用严格模式的一系列原因 让我只说出其中一个:imk 非严格代码: function foo(a) { var myvar; myar = a * 4; // ... return myvar; } 现在,这个代码:

可能重复:

实际上,我知道
使用strict
在JavaScript中做了什么,正如这里所问的问题:


但是我不明白为什么我们应该在JavaScript库中使用
strict
模式?我是说使用它有什么好处

您链接的问题、答案以及它提供的参考资料列出了使用严格模式的一系列原因

让我只说出其中一个:imk

非严格代码:

function foo(a) {
    var myvar;

    myar = a * 4;

    // ...

    return myvar;
}
现在,这个代码:

console.log(foo(2));
…应该记录“8”,对吗?但事实并非如此,它总是记录“未定义”:

函数foo(a){ var-myvar; myar=a*4; // ... 返回myvar; }
console.log(foo(2))您的答案已经是[此处如此][1]。[1] :在库中使用它的原因与在您的问题中链接的一般使用它的原因相同。为什么你认为仅仅因为它是库代码就有区别?我投票以重复的形式结束,因为我看不出这里的答案与已经给出的答案有任何不同或更清楚。@t.J.Crowder,但我无法理解一般使用它的原因。我在图书馆里这样说是因为我在
jQuery
中看到了它,而不是更多。@AfshinMehrabani:在阅读了您链接的问题及其答案和参考资料后,您不理解使用严格模式的好处吗?也许你可以问一个关于列出的众多好处中的一个的具体问题,以及为什么你不明白这一点?@AfshinMehrabani:酷,很高兴这有帮助!