我是JS的新手,我读过包含这一行的代码。
this.myArray[index](this._sender, args);
我想知道这意味着什么?
答案 0 :(得分:2)
这意味着此数组项是一个函数,并且使用参数this._sender
和args
调用它。
在这个例子中,我声明了一个数组,将单参数函数推送给它,然后调用它。
var arr = [];
arr.push(function(str) {
document.body.innerHTML = "Hey, " + str;
});
arr[0]("Your name");
答案 1 :(得分:0)
这意味着myArray [index]是myArray的元素,它是函数,这就是它需要2个参数的原因。
答案 2 :(得分:0)
在JavaScript中,函数是第一类对象,因此它们可以像任何其他值一样传递/引用,存储和访问。
var myArray = [];
var myFunction = function(name) {
console.log("Hello, " + name + "!");
};
myFunction('World');
myArray[0] = myFunction;
myArray[0]('again');
function addDefault(func, defaultValue) {
return function(name) {
name = name ? name : defaultValue;
func(name);
}
}
var myFunctionWithDefault = addDefault(myFunction, 'stranger');
myFunctionWithDefault();
myFunctionWithDefault('goodbye');
答案 3 :(得分:0)
类似于以下代码段:
var myClass = function () {
this._a = 5;
var index = arguments[0] || 0;
this.myArray = [
function (a, b) {
console.log(a, b);
},
function (a, b) {
console.log(a, b);
}
];
this.myArray[index](this._a, arguments);
};
var obj = new myClass(1, 2, 3);//5 [1, 2, 3]