我是javascript的新手,我有这个非常简单的问题。
var counters = [];
for (var i = 0; i < 3; i++) {
counters.push[i];
}
alert(counters.length);
此代码预计会提醒3,但真正的结果是0.有人可以请这个给我。我不确定如何询问此错误。感谢
对不起这个问题..我修好了。谢谢你的回答
由于没有足够的业力,我无法提出另一个问题..但我真正的问题是这个
for (var i = 0; i < 2; i++) {
if (i == 1) {document.write(" <tr class='noBorder' onclick='alert(i)');}
if (i == 0){ document.write(" <tr class='noBorder' onclick='alert(i)');}
}
每当我点击一行时,警报就会产生2。 它基本上就是这个问题,但是在html中 Passing parameter onclick, in a loop
答案 0 :(得分:2)
如果要推入数组,则需要推送值,语法为: array.push(value)。
正确的方法是:
var counters = [];
for (var i = 0; i < 3; i++) {
counters.push(i);
}
alert(counters.length);
答案 1 :(得分:1)
counters.push[i];
应该是
counters.push(i);
或
counters[i] = i;
()
用于方法调用。 push
是一种可用于数组类型的所有对象的方法,因此在这种情况下,您应该使用()
向数组添加值。
[]
用于访问对象的(命名的动态)属性。
var obj = {
a : 10,
c : function() {
return 20;
}
};
在上述用例中,要访问a
和b
的值,您可以使用.
或[]
来访问对象的属性。
obj.a || obj['a'];
obj.b() || obj['b']();
由于属性c
是一个函数,您首先要使用[]
访问该属性,然后使用()