我有一個嵌套函數中的參數對象的問題,似乎是arguments.length從父函數中獲取,而參數[0]從嵌套函數中獲取...任何人都可以解釋爲什麼會發生這種情況?將父foo的參數傳遞給bar的最有效方法是什麼?傳遞父函數參數嵌套函數?
$.fn.foo = function(color1, color2, time){
return this.each(function bar(){
for(var i = 0;i < (arguments.length - 1);i++){
alert(arguments.length); //this is taken from foo function and returns 2
alert(arguments[i]); //this is taken from bar
}
});
};
出於好奇,是否有一個原因,你傳遞一個命名函數'bar'到每個函數中,而不是一個匿名的? – Zirak 2011-04-29 10:08:40
@Zirak,大概是爲了明確問題,並能夠通過名稱來引用該功能。這實際上是一個好主意! – davin 2011-04-29 10:12:00