1
例如,我在寫一個使用兩個數組的函數。我如何定義這個函數中調用它作爲一個全球性的功能,它傳遞兩個數組或作爲Array
方法,傳遞第二陣列:全局函數和方法
func([1, 2, 3], [3, 2, 1]);
[1, 2, 3].func([3, 2, 1]);
這裏是我的想法:
func = function (...args) { // define global function
if (args.length > 1) {
// function called as global with 2 arrays in arguments
} else {
// function called as Array method, with second array in arguments
}
}
Array.prototype.func = func; // define Array method
是還有更好的方法嗎? 謝謝。
參數的個數並不告訴你函數是如何被調用的,因爲你可以調用像[[1,2,3] .func([3, 2,1],[4,5,6])。你可以改爲測試'this'是否是一個數組... – nnnnnn