你好,可以接見下這個
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]?這樣明了了吧
}
望采納!