Gb[arguments[1]] = arguments[0] 是什么意思啊??JavaScript代码如下:
varGb={attr:function(){if(arguments.length==1){returnGb[arguments[0]];}elseif(argumen...
var Gb = {
attr : function(){
if (arguments.length == 1){
return Gb[arguments[0]];
}else if (arguments.length == 2){
Gb[arguments[1]] = arguments[0]
return Gb;
}
}
} 展开
attr : function(){
if (arguments.length == 1){
return Gb[arguments[0]];
}else if (arguments.length == 2){
Gb[arguments[1]] = arguments[0]
return Gb;
}
}
} 展开
3个回答
展开全部
var Gb = { // 定义一个Gb的变量(对象)
attr : function(){ //Gb的第一个方法名字叫attr,attr是一个函数,相当于我们function attr()
if (arguments.length == 1){ //如果attr这个方法(本身是个函数),只有1个参数如 function attr(a)
return Gb[arguments[0]]; //返回Gb对象的一个值。比如attr("test"),返回Gb["test"](也就是Gb.test)
}else if (arguments.length == 2){ //如果有2个参数,即attr(a,b)
Gb[arguments[1]] = arguments[0] //取得第二个参数的值,假如为b,b在此处等于arguments[1],
return Gb; //Gb[arguments[1]] = arguments[0] 表示如果Gb对象下面的Gb[arguments[1]]这个方法返回值等于 attr(a,b)中的第一个参数a,则返回Gb本身
}
}
}
//注意arguments
function(a,b,c,d){
//alert(a) 等价于 alert(arguments[0])
//alert(b) 等价于 alert(arguments[1])
//alert(d) 等价于 alert(arguments[3])
//你可以把arguments看作成:arguments = [a,b,c,d] 这样明了了吧
}
展开全部
给GB这个对象添加一个属性、Gb.attr()这个函数的功能就是给Gb这个对象添加一个属性,接受两个参数,第一个参数代表属性的值,第二个参数是属性的名
追问
Gb[arguments[1]] = arguments[0] 这个是什么意思啊??有什么意义
追答
在函数中arguments中存储的是传递给这个函数的参数列表:如
function test (a, b) {
console.log(argument[0]);
console.log(argument[1]);
}
test(1,2); // 1, 2
test(1); 1, undefined
然后就Gb[arguments[1]]就相当于用第二个参数作为Gb的一个属性!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Gb.attr("gb1","name");
这时arguments.length是2,arguments[0]就是"gb1", arguments[1]就是"name",作用就是给Gb对象增加了一个属性name,值是gb1.
Gb.arrt("name");
这时arguments.length是1,arguments[0]就是"name",返回值就是gb1。
这时arguments.length是2,arguments[0]就是"gb1", arguments[1]就是"name",作用就是给Gb对象增加了一个属性name,值是gb1.
Gb.arrt("name");
这时arguments.length是1,arguments[0]就是"name",返回值就是gb1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询