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