在JS中,除了使用var关键字之外,还有其他方法来初始化变量吗?
Is there another way to initialize a variable in JS other than using the var key word?
我正在编写下面的函数,我想到要问是否有另一种方法来实例化循环中的计数器变量,而不是使用var关键字?如果可能的话,也可以在非for循环的上下文中使用
显然这段代码不能工作。
function everyOther(arr) {
var sum =0;
for(i=0;i<arr.length;i+=2){
sum+=arr[i];
}
return sum;
}
这个可以。我能忽略var关键字吗?
function everyOther(arr) {
var sum =0;
for(var i=0;i<arr.length;i+=2){
sum+=arr[i];
}
return sum;
}
它作为独立的工作。只有它设置全局的i
变量,而不是使用本地的——参见var关键字的目的是什么,什么时候使用它(或省略它)?
然而,当您从另一个同样使用全局i
变量的代码段调用everyOther
时,它们可能会产生干扰。特别是如果来自另一个循环,它可能会干扰外部条件并导致无限循环。
您至少需要声明一个变量才能使用它。你也可以这样写:
function everyOther(arr) {
var sum =0;
var i = 0;
for(i=0;i<arr.length;i+=2){
sum+=arr[i];
}
return sum;
}
因为你必须在使用任何变量之前声明它,如果你不使用,那意味着你已经将它声明为全局变量。
使用var
总是一个好主意,以防止变量混淆global scope
和变量相互冲突,导致不必要的覆盖。
使用var
意味着你指定它为Local
变量。
不指定var
意味着将其作为Global
变量。
相关文章:
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 如何从其他方法访问Angular.js$scope
- 停止内部事件处理程序冒泡的其他方法,jQuery
- 有没有办法将选择器返回到元素?是$(这个)还是其他方法
- 使用一个方法在c#中启动其他方法
- 使用appendchild或其他方法向ul添加html代码而不是纯文本
- 用Javascript或其他方法通过语音读取整个HTML页面(离线)
- 有没有其他方法可以在远程服务器上包含php文件?除了<?php include()>
- 为什么不't我的Javascript,如果其他方法有效的话
- 有没有办法使用画布或其他方法在 HTML 中制作圆形图像
- 无法获得其他方法是否可以在 HAML JavaScript 中正常工作
- 有没有其他方法可以在 jquery 中删除类
- 获取父对象并通过介于两者之间的窗体传递给其他方法
- 使用 jQuery 工具提示插件(或任何其他方法)显示带有 PHP 对象属性的工具提示
- 除了通过JavaScript追加之外,还有其他方法可以将动态数据添加到jQuery移动页面中吗?
- 有没有其他方法可以选择HTML元素
- 如何使用javascript或其他方法清除IE DNS缓存
- 是否可以使用 JQuery 或其他方法在两个浏览器窗口之间拖放一些内容
- 其他方法使用 setInterval 调用的方法无法访问 js 中的对象属性
- 在默认情况下将可枚举设置为 false 的 JS 中创建对象属性的其他方法是什么