作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
“var”是可选的吗?
myObj = 1;
同?
var myObj = 1;
我发现它们在我的测试中都有效,我假设 var
是可选的。对吗?
最佳答案
它们的含义不同。如果你使用 var
变量是在你所在的范围内声明的(例如函数)。如果您不使用 var
,变量会在作用域层中冒泡,直到遇到具有给定名称或全局对象的变量(窗口,如果您在浏览器中执行此操作),然后附着在哪里。它与全局变量非常相似。但是,它仍然可以使用 delete
删除(很可能是由也未能使用 var
的其他人的代码)。如果在全局范围内使用var
,则该变量是真正的全局,不能被删除。
在我看来,这是 javascript 最危险的问题之一,应该弃用,或者至少在警告之上发出警告。原因是,很容易忘记 var
并且意外地将公共(public)变量名绑定(bind)到全局对象。这会产生奇怪且难以调试的行为。
关于javascript - 使用 'var' 声明变量是可选的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2485423/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!