我"use strict";在剧本的顶部写道.
我不能写,num = 5;因为我得到了ReferenceError: Can't find variable: num.
为了解决这个问题,我可以写let num = 5;.
使用那个逻辑,为什么我被允许写name = prompt("What is your name?");?
我不应该写let name = prompt("What is your name?")吗?
我正在阅读关于javascript中严格模式的John Resig博客,但我有一个问题.
严格模式的一个特性是使用JSON.parse和JSON.stringify,但我可以使用WITHOUT"use strict".
如果你写他在博客上使用的相同例子:
var str = JSON.stringify({ name: "John" });
// Prints {"name":"John"}
alert( str );
Run Code Online (Sandbox Code Playgroud)
你可以看到这个工作.
为什么允许这样做?我错过了什么吗?
谢谢!
这段代码:
var x = 8,
y = 12;
let ( x = 5, y = 10) {
return x + y;
}
Run Code Online (Sandbox Code Playgroud)
..gives"SyntaxError:非法让扩展模式外的声明"
但是"使用严格"它可以正常工作.
所以有趣的是为什么'让'首先与"使用严格"模式集成?(根据http://kangax.github.io/compat-table/es6/#nodeharmony)
如果我use strict用反引号/模板文字括起来,“使用严格”不会按预期工作。你能分享一下背后的原因吗?是否有任何类似的异常语句模板文字无法按预期工作?
`use strict`;
x = 3.14; // Ideally it should cause an error (as x is not defined).
alert(x);Run Code Online (Sandbox Code Playgroud)
`use strict`; // if we enclose in single quotes or double quotes
x = 3.14; // Ideally it should cause an error (as x is not defined).
alert(x);
Run Code Online (Sandbox Code Playgroud) 一位同事建议我添加"use strict";到我的 JS 代码的顶部,以突出我的定义中的任何差距和潜在的引用错误等。我对此非常满意,因为它已经确定了几段可能存在问题的代码.
但是,另一位同事告诉我,在调用带有多个参数的函数时,按照指定的方式命名参数会很有帮助,尤其是当它是一堆布尔值时。为了说明,这里有几个函数调用:
logData(data, target, preserveLog=true, changeClass=false, wrapLine=false);
Run Code Online (Sandbox Code Playgroud)
...比:
logData(data, target, true, false, false);
Run Code Online (Sandbox Code Playgroud)
但是"use strict";讨厌这个。在我执行此操作的任何地方,我都会在控制台中收到参考错误。正如预期的那样,它仍然运行良好,但控制台现在被所有这些明显未定义的引用弄得乱七八糟。
有谁知道是否有办法解决这个问题,以便我可以保留我的同事欣赏的编码约定,或者我将不得不停止使用"use strict";或检查我的所有代码并删除参数名称?
谢谢。
几天前我在我的计算机上安装了Ubuntu,然后安装了WebStorm,但我遇到了JavaScript项目的问题.它给了我一个错误,说我不能使用"let"这个词.几个小时后,我找到了一些解决方案:使用"use strict".有可能不是"use strict"吗?
还有一件事:它不认识我Math.pow的更快替代方案:(a**2);
编辑:我正在使用ECMAScript 6,这是确切的错误:SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
use-strict ×7
javascript ×5
ecmascript-5 ×1
ecmascript-6 ×1
let ×1
node.js ×1
perl ×1
ubuntu ×1
webstorm ×1