举个简单例子,希望你能明白,
1、下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
var dd = []var a = { "cname": "tom" }
for (var i = 0 i <4 i++) {
dd[i] =a
}
dd[0].cname = "jim"
alert(dd[2].cname)
2、下面输出结果是0,而不是1,
是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。
var dd = []var a = 0
for (var i = 0 i <4 i++) {
dd[i] =a
}
dd[0]=1
alert(dd[2])
希望对你有帮助!
可以参考下面的代码用js处理某容器中一组input框的值,取出存到数组中。
var website=[]
var obj=document.getElementById("verification").getElementsByTagName("input")
for(var i=0i<obj.lengthi++){
if(obj[i].value.length>0){
website.push(obj[i].value)
}
}
jquery自己提供了一种方法jQuery.makeArray()
或者自己写一个转化
Array.prototype.slice.call(类似数组对象)