我看到在PHP中,有些函数可以将多个选项接受到一个参数中,例如:

error_reporting(E_ERROR & E_WARNING);

我想在我的javascript函数中实现这种功能。您知道采用此类参数的函数示例吗?

我对函数如何知道传递的选项感到困惑...

最佳答案

是的,有可能,但是它与|一起使用。

var flag1 = 1,
    flag2 = 2; // powers of 2

function get(flags) {
    if((flags & flag1) === flag1) { // remove all other bits and check
        alert('flag1');             // whether you get the flag itself
    }

    if((flags & flag2) === flag2) {
        alert('flag2');
    }
}

get(flag1 | flag2); // alerts both


当然,您可以创建一个辅助函数来进行检查,从而不需要那些括号:

function contains(flags, flag) {
    return (flags & flag) === flag;
}


http://jsfiddle.net/pimvdb/NpFYj/1/

关于php - JavaScript中参数的位掩码类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7940389/

10-10 04:30