代码片段一:function b(x, y, a) { arguments[2] = {"name" : "func"};
alert(a.name); //"func"}
b(1, 2, {"name" : "win"});代码片段二:function b(x, y, a) {
var arr = [x,y,a];
arr[2] = {"name" : "func"};
alert(a.name); //"win"}b(1, 2, {"name" : "win"});逛网站的时候偶然发现了代码片段一,旁边有个学java的表示对代码片段一的结果很不理解,举出了代码片段二。应该从什么角度解释这两段代码结果的区别呢?求解。
1 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
在第二段中
arr[2] = {"name" : "func"};
只改变了arr
数组、,并没有修改到实际的a
,你可以试着在第二段代码中console.log(arguments)
来查看结果
添加回答
举报
0/150
提交
取消