Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为javascript函数中的布尔参数设置默认值_Javascript - Fatal编程技术网

为javascript函数中的布尔参数设置默认值

为javascript函数中的布尔参数设置默认值,javascript,Javascript,我使用了typeof foo!='未定义“以测试javascript函数中的可选参数,但如果我希望每次都将此值设置为true或false,那么最简单、最快速或最彻底的方法是什么?看起来可能比这更简单: function logBool(x) { x = typeof x !== 'undefined' && x ? true : false; console.log(x); } var a, b = false, c = true; logBool(a); //

我使用了
typeof foo!='未定义“
以测试javascript函数中的可选参数,但如果我希望每次都将此值设置为
true
false
,那么最简单、最快速或最彻底的方法是什么?看起来可能比这更简单:

function logBool(x) {
    x = typeof x !== 'undefined' && x ? true : false;
    console.log(x);
}

var a, b = false, c = true;
logBool(a); // false
logBool(b); // false
logBool(c); // true

您可以跳过三元,并计算“not not x”,例如
!!x

如果x未定义,
!x
是真的,所以
!!x
再次变为false。如果x为真,
!x
为假,因此
!!x
为真

function logBool(x) {
    x = !!x;
    console.log(x);
}

var a, b = false, c = true;
logBool(a); // false
logBool(b); // false
logBool(c); // true

啊,太好了,正是我想要的,谢谢。有人请保护这个答案:)