JS 逻辑运算子及函式预设值 DAY56

逻辑运算子
MDN : https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Obsolete_Pages/Obsolete_Pages/Obsolete_Pages/%E9%81%8B%E7%AE%97%E5%AD%90/%E9%82%8F%E8%BC%AF%E9%81%8B%E7%AE%97%E5%AD%90

&& (AND)
若第一个表达式为 false ,直接回传第一个
若第一个表达式不为 false ,回传第二个

|| (OR)
若第一个表达式为 true , 则回传第一个
否则回传第二个

! (NOT)
!真值 --> 假值
!假值 --> 真值

// && (AND)// 第一个假值 回传第一个console.log( 0 && 1);// 第一个真值 回传第二个console.log( 1 && 0);// || (OR)// 第一个假值 回传第二个console.log( 0 || 1);// 第一个真值 回传第一个console.log( 1 || 0);// ! (NOT)console.log(!0); // trueconsole.log(!1); // falseconsole.log(![]); // false

ex:

var originCash = 500;function updateMoney(cash){    // 若 updateMoney 没有传参数进来 cash 为undefined (假值)    // 所以  当第一个表达式为 falsy , 执行第二个表达式     cash = cash || 300;    var money = cash + originCash;    console.log(money);}updateMoney();

这时候
我们想传 0 进去 , 但会被判断假值,而执行 300
那要怎么解决呢??
可用三元运算子

var originCash = 500;function updateEasyCard(cash) {  cash = parseInt(cash);  console.log(cash);  // 当 cash 是数值或为 0 时,使用 cash 的数值  // 如果 cash 是 NaN 时,则直接套用 500  cash = (cash || cash === 0)? cash: 500;  var money = cash + originCash;  console.log('我有 ' + money + ' 元');}updateEasyCard(0);

这里总结前几篇的介绍

var a = 1;var b = 2;var c = 0;// && 2元运算子 由左至右// 所以执行顺序是// a && b  1 && 2 回传 2// 2 && c  2 && 0 回传 0 console.log(a && b && c); // 0
var a = 1;var b = 2;var c = 0;// && 优先性 比 || 高// c || 0 || a// 0 || a // 1console.log( c || c && c || a); //1
var a = 1;var b = 2;var c = 0;// && 优先性 比 || 高// 2 || 0console.log( a && b || c && a); // 2
// 加号优先性较高// 2 === 1 // 所以为 falsevar a = 1 + 1 === 1 ;
// 1000 < 10000 true// true < 10 // true 转型成数值 1// 1 < 10// 所以为 trueconsole.log( 1000 < 10000 < 10);
var a = '1';var b = 2;// a 转型成数值 // 1 < 2 false 执行 sum(a , b)// '1' + 2 --> 12 (字串和数值相加 会转成字串)var c = (a > b) ? a * b : sum(a , b);function sum(a , b){    return a + b ;}  console.log(c ,typeof c); // 12 string 

那今天的介绍就到这里
若有任何问题 或 内容有误
可以跟我说唷http://img2.58codes.com/2024/emoticon41.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章