3

有没有办法使用传递的参数来调用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");

谢谢!

4

2 回答 2

2

Javascript 对象属性就像关联数组一样this.a == this['a']

   var Animal = (function(){
        function Animal(type){
            this[type](); //eg this.snake(); if the parameter type is "snake"
        }
        return Animal;
    })();
于 2013-07-20T08:36:08.100 回答
1

您可以像数组一样引用它。在你的情况下,它会是this[type]

function Animal(type){
    this[type]();
}

此外,如果您不知道对象或者变量是全局的,那么您可以window在同一上下文中使用 like。例如

var apple = 'tasty';
var fruit = 'apple';
console.log(window[fruit]); // Will give `tasty` as output
于 2013-07-20T08:36:39.683 回答