我改变了一个变量声明的位置,结果函数出错了。为什么?

13 浏览
0 Comments

我改变了一个变量声明的位置,结果函数出错了。为什么?

这个错误在我的浏览器的JS控制台中弹出,我不确定如何解释这个消息。有人可以描述一下是什么原因导致的吗?

谢谢。

0
0 Comments

这个问题的出现原因是因为变量声明的位置改变了,导致函数出错。解决方法是将变量声明放回原来的位置。下面是问题的具体描述:

我把一个变量声明的位置改变了,结果函数就出错了。为什么会这样呢?

在JavaScript中,如果想要使用块作用域声明,你必须在文件或函数的开头写上"use strict"来声明严格模式。例如:

function test(){
    "use strict";
    let a = 1;
} 

我遇到了相同的问题,我在函数的顶部添加了"use strict",但是仍然不起作用...有什么想法吗?谢谢

这可能是一个Node.js应用程序。我也遇到了同样的问题,我在控制台使用的是Chrome 48.0.2564.103 m版本。

我通过在控制台中使用(function() { "use strict"; })();解决了问题。

是的,朋友,刚开始的时候它确实不起作用,但是在重新启动浏览器后它就正常工作了!不确定是什么原因导致浏览器表现出这种行为...但肯定与脚本本身无关!这有时候会发生在JS引擎中...希望能有所帮助...你在jsFiddle或CodePen上试过吗?干杯!

我在一个Node.js应用程序中遇到了这个问题,该怎么解决?

对于Node.js来说,使用命令"node --use_strict"。

我使用的是Node v7.2.0版本,不再需要"use strict"来使用let了。

我的问题是关于cordova的。我使用'n'更新了最新版本的node,现在它工作正常了。[stackoverflow.com/a/19584407/530197](http://stackoverflow.com/a/19584407/530197)

你说的方法不起作用。我在我的文件中到处都有"use strict",但问题仍然存在。

我在我的Node.js应用程序(express)中遇到了同样的问题。我在开头使用了"use strict",问题解决了。

我尝试了使用"use strict",但是出现了很多错误,后来我将let改成了var,问题解决了。

对我来说,只有在末尾添加分号才有效,也就是"use strict";。

0