我在脚本的顶部写了 "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?")
吗?
最佳答案
假设您在浏览器中运行它,您看到此行为是因为 window.name
属性(property)。您的第二个示例是将 prompt
返回的值存储在此属性中。
如果窗口具有内置的 num
属性,您的第一个示例也可以正常工作。
当然,在实际代码中,您希望创建一个变量来存储 prompt
值,而不是破坏 window.name
。
关于javascript - 启用 "use strict"后,为什么我可以在使用 prompt() 时不使用 let 来分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51794841/