为什么在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:酷,很高兴这有帮助!