有没有办法在javascript中使用传递的参数来调用函数。
例如:
var Animal = (function(){
function Animal(type){
this.type(); eg this.snake(); if the parameter type is "snake"
}
return Animal;
})();
var animal = new Animal("snake");
谢谢!
答案 0 :(得分:2)
Javascript对象属性的作用类似于associative arrays所以this.a == this['a']
var Animal = (function(){
function Animal(type){
this[type](); //eg this.snake(); if the parameter type is "snake"
}
return Animal;
})();
答案 1 :(得分:1)
您可以像 数组 一样引用它。在您的情况下,它将是this[type]
function Animal(type){
this[type]();
}
此外,如果您不知道该对象或该变量是全局的,那么您可以在相同的上下文中使用window
。例如
var apple = 'tasty';
var fruit = 'apple';
console.log(window[fruit]); // Will give `tasty` as output