下面输出结果是"jim",而不是"tom",
是因为数组中保存的都是指向json对象a的地址,
dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,
当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。
1234567891011var dd = [] var a = { "cname": "tom" } for (var i = 0 i <4 i++) { dd[i] =a }dd[0].cname = "jim"alert(dd[2].cname)
下面输出结果是0,而不是1,
是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的厅旦内存地址都不同,互不干扰。
12345678910111213var dd = [] var a = 0 for (var i = 0 i <4 i++) { 扮举扰 dd[i] =a } dd[0]=1 alert(dd[2])
JS(Justin&Sophia),中国台湾流行乐组合,由陈忠义、陈绮萱组成。
1999年,陈忠义与陈绮萱组成“GoGo&MeMe”,并推出组合答高首张音乐专辑《Say Forever》。2004年,签约华研国际,并改名为“JS”;同年8月,推出组合第二张音乐专辑《遇见未来》。2006年,JS与华研国际的合约期满后,并创办了“音思拜耳Inspire音乐工作室”;同年7月,推出组合首张EP专辑《Rosso苏菲亚的盛宴》。2008年,凭借专辑《此生最美的风景》入围“新加坡金曲奖”最佳组合奖。2009年,推出组合第二张精选辑《The JS Moment》。2012年,推出组合第四张音乐专辑《听见》。2013年,凭借专辑《听见》入围“第24届金曲奖”最佳演唱组合。2014年12月21日,在上海举行“JS Xmas演唱会”。2015年3月,推出组合第五张EP专辑《这就是爱》。
ob是引用类型,你把datas的0到9都指向了ob,ob的值改掉之后,datas0到9的数据就全部改掉了。所以,你卖御可以把ob的声明放到孙散for循环里面,这样每次循环,ob都是新建的,datas0到9就是则配氏指向不同的地址。
方法解析如下:
1、push:将乎让参数添加到原数组末尾,并返回数组的长度。
测试代码如下:
执行如此顷大下,6已经被加入数组。
2、splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 。
测试代码如下:
执行如下:
3、unshift():在数组的开头添加新元素 。
测试代码如下:
执行如下:0已经被加入开头。
扩展资料:
js数组其他 *** 作函数:
pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined。
测试代码森竖如下:
输出:(5已经被删除)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)