Javascript for-in global scope
Javascript for-in global scope
我只是有一个尴尬的领悟...
我经常循环遍历这样的对象:
for (item in results) {
if (results.hasOwnProperty(item)) {
// do something with results[item];
}
}
在一个大型应用程序中,我开始在全局命名空间中出现奇怪的泄漏。我从没想过上面的item
会漂浮到全局命名空间中,因为它从未被声明过。我猜是这样吗?
正确的语法如下吗?
for (var item in results) {
if (results.hasOwnProperty(item)) {
// do something with results[item];
}
}
出于某种原因,我似乎在示例中错过了这一点。
编辑
否则,我非常坚定地声明我的所有变量,并且不允许任何内容进入全局命名空间。出于某种原因,我想...循环是一些特殊的例外,但我越想,这个结论似乎就越愚蠢。
是的;你需要声明你的变量。
如果添加'use strict';
(所有新代码都应添加(,则在忘记添加时会出现错误。
是的,使用 JSLint 或 JSHint 静态分析您的 JavaScript 代码以查找其他可能的问题。
相关文章:
- AngularJS:ng之后,重复$scope值未按预期更新
- $ionicplatform内的$scope不;不起作用
- 使用$scope方法时的ControllerAs语法
- 如何将ngrepeat下的ngmodel绑定到$scope
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- $scope变量被视为字符串AngularJs
- ng在更新$scope后重复不更新信息
- 正在获取Angular以检测$scope中的更改
- 如何惯用地手动销毁scope&在AngularJS中重新创建
- Understanding Javascript scope with "var that = this&qu
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- Ng出口无法访问父$scope
- ng选项-用vm替换$scope
- $scope变量,ng隐藏/显示
- 强制 $scope.$watch 只开火一次
- Ionic:AngularJS变量未使用$scope更新DOM
- 如何将数据从ASP.NET WebForms传递到Aurelia Global Scope
- Javascript for-in global scope
- Javascript Global vs Local Scope