myArray = [1,2,3];
而且說我有一個實用程序功能在別處:
add3 = function(val) {
return val+3;
}
現在,如果我想使用它作爲回調的地圖功能,我必須這樣做像這樣:
add3Callback = function(currentValue, index, array) {
return add3(currentValue);
}
myArray.map(add3Callback);
試圖myArray.map(add3)導致「參數計數mismatch」。地圖回調不需要額外的兩個參數會更好,因爲現在我必須將wrappers添加到所有的util函數中,以便在map中使用它們,這違背了在第一個地圖中使用map的一些原因地點。
我在這裏錯過了什麼?爲什麼這些論據是強制性的,其他語言(包括Javascript)似乎沒有這樣做。
「其他語言(包括Javascript)似乎沒有這樣做「這是錯誤的聲明,因爲AS3中的Array映射不是AS3語言的一部分,而僅僅是Array對象的框架實現。地圖排序方法是一種方便的方法,您可以自由使用或不使用,就像您可以自由編寫自己的排序方法一樣。抱怨這種方法的實施是荒謬和毫無意義的,你抱怨使用的方法不適合你的需要,那麼就不要使用它! – BotMaster
除了JavaScript之外,還有哪些其他語言允許您使用不正確的參數調用函數並且不會拋出錯誤? – Aaron