Javascript - 使用 for 循环声明变量

标签 javascript

我只是想知道是否可以使用 for loop 声明多个变量在Javascript中。

示例:我有 4 <article> ID 为 article1 的元素article2 article3article4 .我不想单独声明每个变量,而是想在一个循环中进行(因为它们基本上使用相同的代码,我不想重复自己!)。

类似于:

window.ready = function(){
    for (var i=1; i<=4; i++){

            var article[i] = document.getElementById("article" + i);

        }
}

上面返回一个意外的错误 [ ,所以我的语法一定是关闭的(我对 JS 很陌生),但是 (a) 这是在正确的轨道上吗(b) 如果我运行它们,它们将是全局变量在 window.ready 函数中?

最佳答案

您不能使用 [ 字符设置变量名。使用它,你会得到javascript的异常。您可以使用 List/Array 来执行此操作,尝试使用 Array 类,例如:

window.ready = function() {

   var articles = new Array();

   for (var i=1; i<=4; i++){

      articles[i] = document.getElementById("article" + i);

   }
}

使用 Array 类,您不需要指定长度,但如果需要,可以在构造函数中设置它。

var articles = new Array(4);

另一种方法是使用 push在数组上添加元素的方法,例如:

window.ready = function() {

   var articles = []; // define an empty array

   for (var i=1; i<=4; i++){

      articles.push(document.getElementById("article" + i));

   }
}

关于Javascript - 使用 for 循环声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13858128/

相关文章:

javascript - 预加载显示/隐藏div

javascript - 通过创建动态 key 访问json数据

javascript - 无法读取 null 的属性 'style/css/attr/setAttribute'

javascript - 对象成本===对象

javascript - Microsoft BotFramework - 建议的卡片

Javascript 函数式编程测验

javascript - Unix时间戳到秒数组indexOf

javascript - Angular 无法与 Gridster 正确绑定(bind)

javascript - 通过 JavaScript 加载 iOS 'smart app banner'

javascript - 如何用JQuery实现连续滚动?