如何使用参数值来调用函数?

时间:2013-07-20 08:33:42

标签: javascript

有没有办法在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");

谢谢!

2 个答案:

答案 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