&&
、逻辑或||
和逻辑非!
。
第一个操作数 | 第二个操作数 | 运算结果 |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
var user; //定义变量 (! user && console.log("没有赋值")); //返回提示信息“没有赋值”等效于:
var user; //定义变量 if (! user){ //条件判断 console.log("变量没有赋值"); }
var user = 0; //定义并初始化变量 (! user && console.log("变量没有赋值")); //返回提示信息“变量没有赋值”
var n = 3; (n == 1) && console.log(1); (n == 2) && console.log(2); (n == 3) && console.log(3); ( ! n ) && console.log("null");上面代码等效于下面多重分支结构。
var n = 3; switch(n){ case1: console.log(1); break; case2: console.log(2); break; case3: console.log(3); break; default: console.log("null");
console.log(typeof ({} && true)); //返回第二个操作数的值 true的类型:布尔型 console.log(typeof (true && {})); //返回第二个操作数的值 {}的类型:对象
console.log(typeof ("null" && null)); //返回null的类型:对象 console.log(typeof (null && "null")); //返回null的类型:对象
console.log(typeof ("NaN" && NaN)); //返回NaN的类型:数值 console.log(typeof (NaN && "NaN")); //返回NaN的类型:数值
console.log(typeof ("Infinity" && Infinity)); //返回第二个操作数Infinity的类型:数值 console.log(typeof (Infinity && "Infinity")); //返回第二个操作数"Infinity"的类型:字符串
console.log(typeof ("undefined" && undefined)); //返回undefined console.log(typeof (undefined && "undefined")); //返回undefined
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有