首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js arguments对象的有关问题

2013-10-02 
js arguments对象的问题function A(){var arg []for(var i0,lenarguments.lengthileni++){(functi

js arguments对象的问题
function A(){
var arg = [];
for(var i=0,len=arguments.length;i<len;i++){
(function(_i){
arg.push(arguments[_i]);
})(i);
}
this.num = new Array(arg);
}
A.prototype.insert = function(index,value){
this.num.splice(index,0,value);
return this.num;
}
A.prototype.get = function(index){
return this.num.slice(index,index+1);
}
var a1 = new A("red","blue","green");
a1.insert(1,"black");
alert(a1.num);

请帮忙看看这段代码的错误~~弹出的结果是0,,,black
[解决办法]

this.num = new Array(arg);
 改成
 this.num = arg ;
[解决办法]
function A(){
var arg = [];
for(var i=0,len=arguments.length;i<len;i++){     //这里的arguments 是 function a()的
(function(_i){
arg.push(arguments[_i]);    //这里的auguments 是 function(_i)的
})(i);
}
this.num = new Array(arg);
}

从你的业务逻辑 我认为你希望 全部处理外层的 arguments

function A(){
var arg = [];
var argms = arguments;
for(var i=0,len=arguments.length;i<len;i++){
(function(_i){
arg.push(argms[_i]);
})(i);
}
this.num = new Array(arg);
}

热点排行