相关疑难解决方法(0)

为什么'for(列表中的var项)'与数组在JavaScript中被认为是不好的做法?

给出一个简单的基于零的数字索引数组:

var list = ['Foo', 'Bar', 'Baz'];
Run Code Online (Sandbox Code Playgroud)

很多时候,我注意到有人建议循环遍历数组中的变量,如下所示:

for(var item in list) { ... }
Run Code Online (Sandbox Code Playgroud)

......几乎可以肯定有人认为这是不好的做法,并提出了另一种方法:

var count = list.length;

for(var i = 0; i < count; i++) {
    var item = list[i];
    ...
}
Run Code Online (Sandbox Code Playgroud)

不使用上面更简单的版本并使用第二个例子的原因是什么?

javascript arrays loops

73
推荐指数
2
解决办法
4万
查看次数

在JavaScript中执行循环的最佳方法是什么?

我偶然发现了几种在JavaScript中循环的方法,我最喜欢的是:

for(var i = 0; i < a.length; i++){
    var element = a[i];
}
Run Code Online (Sandbox Code Playgroud)

但是在这里进行了测试(http://www.robertnyman.com/2008/04/11/javascript-loop-performance/),应该编写它以便只计算一次长度.

在jQuery中有一个.each,你可以坚持一个功能.我喜欢这个更好一点,因为我不需要输入两次数组,就像上面的解决方案一样.

如果JavaScript支持宏,那么推出自己的宏将是件小事,但遗憾的是它没有.

那么你们用什么?

javascript macros jquery loops

29
推荐指数
4
解决办法
2815
查看次数

在javascript中传递document.getElementByid中的变量

我有一个变量account_number,其中存储了帐号.现在我想得到id为account_number的元素的值.怎么在javascript中做到这一点?

我尝试做document.getElementById(account_number).value,但它是null.

HTML看起来像这样:

<input class='transparent' disabled type='text' name='113114234567_name' id='113114234567_name' value = 'Neeloy' style='border:0px;height:25px;font-size:16px;line-height:25px;' />
Run Code Online (Sandbox Code Playgroud)

而js是:

function getElement()
{   
 var acc_list = document.forms.editBeneficiary.elements.bene_account_number_edit;

    for(var i=0;i<acc_list.length;i++)
        {
            if(acc_list[i].checked == true)
                {

                    var account_number = acc_list[i].value.toString();
                    var ben_name = account_number + "_name";

                    alert(document.getElementById("'" + ben_name.toString() + "'").value);
                }
         }
Run Code Online (Sandbox Code Playgroud)

}

这里bene_account_number_edit是单选按钮.

谢谢

html javascript

1
推荐指数
1
解决办法
5万
查看次数


如何在没有像jQuery这样的库的情况下操作DOM?

我习惯使用jQuery来操作DOM,例如:

var mything = $("#mything");
mything.on("click", function() {
    mything.addClass("red");
    mything.html("I have sinned.");
});
Run Code Online (Sandbox Code Playgroud)

但现在我想用Vanilla JavaScript做同样的事情.这可能吗?我该怎么做?

注意:此问题旨在成为有关Vanilla JavaScript DOM操作的综合资源.

javascript dom

-1
推荐指数
1
解决办法
2027
查看次数

标签 统计

javascript ×5

loops ×2

arrays ×1

dom ×1

html ×1

jquery ×1

macros ×1

performance ×1