JS中的动态if语句

时间:2015-05-20 16:48:29

标签: javascript arrays if-statement

我有一个查看数组并返回ether true或false的函数,并将全局变量更改为它在0以上时找到的数字。我想要一个if语句,如果它是那个数字就改变了它会根据该数字调用不同的函数,而不需要多个if语句。 类似

if(left == true){
    for(i=1;i<8;i++){
        if(leftnumber == i){
            //function based on i
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您可以使用对象根据数字查找函数。

// object that stores functions based on "leftnumber"
var fnTable = { };

// when "leftnumber" is 6, this function will be called
fnTable[ 6 ] = function() { ... };

// ... for loop stuff

// attempt to find the function for the value at i
var lookup = fnTable[ i ];

// if it exists, call it
if (lookup)
    lookup( );

答案 1 :(得分:0)

这样的东西?

function myfunction(number){
    //do stuff
}

if(left == true){
    for(i=1;i<8;i++){
        if(leftnumber == i){
            myfunction(i);
        }
    }
}