举个简单例子,希望你能明白,
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])
希望对你有帮助!
存到cookie中去,提交到数据库时从cookie中取出来传回服务器function fun()
{
var price = document.getElementById('price').value
var count = document.getElementById('count').value
document.getElementById('total').value = count*price
document.cookie="ctotal="+count*price
}
如果变量定义在循环内部则做不到,循环结束变量就销毁了。不过可以把相应变量定义在循环外部。样例程序
#include <iostream>int main(){for (int i = 0i != 1++i) std::cout <<i <<std::endl//出错return 0}
#include <iostream>int main(){int i = 0 for (i != 1++i) std::cout <<i <<std::endl//输出1return 0}