类数组对象arguments和数组在应用时的区别

代码片段一:

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的表示对代码片段一的结果很不理解,举出了代码片段二。应该从什么角度解释这两段代码结果的区别呢?求解。


开心每一天1111
浏览 596回答 1
1回答

尚方宝剑之说

在第二段中arr[2] = {"name" : "func"};只改变了arr数组、,并没有修改到实际的a,你可以试着在第二段代码中console.log(arguments)来查看结果
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript