摘要:和操作符看到下面的式子,新人肯定认为他们的值是或布尔的运算难道不是或找第一个假值,如果没有假值,返回最后一个真值找第一个真值,如果没有真值,返回最后一个假值内部不是简单的输出或,因为除了个值之外其它指对来说都是,所以刚开始接触的时候会很迷惑
||和&&操作符
看到下面的式子,新人肯定认为他们的值是true或false
a || b c && d
布尔的运算难道不是true或false?
1 && 2 && 3 && 4 && 5 //5 1 && 0 && 2 && 3 && 4 && 5 //0 1 && 0 && console.log(3) //0
&&找第一个假值,如果没有假值,返回最后一个真值
0 || undefined || 1 || null //1 0 || undefined || null //null
||找第一个真值,如果没有真值,返回最后一个假值
Boolean 内部不是简单的输出true或false,因为除了5个falsy值之外其它指对Boolean 来说都是true,所以刚开始接触的时候会很迷惑。
明白了这些之后,可以利用这个特性做一些小技巧
var a = 1 //不合格代码
做项目时不知道前面有没定义a,这样写的话很容易除bug
所以在定义a时可以做一个判断
var a = a || {} //如果前面有a,就用前面定义的a;如果前面没有a,就用a = {}
等价于:
if(a){ a=a //如果a存在,就运行a }else{ a={} //如果a不存在,把a赋值为{} }
等价于:
if(!window.a){ //写成!a的话,如果a真的不存在,会报错。 a = {} }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107921.html
摘要:是一门清晰简洁的语言,如果你对一些细节不了解的话,就会掉入到那些深不见底的坑里,下面,我就来总结一些里常见的坑。这是个很常见但很容易被忽略的一个坑。 Python是一门清晰简洁的语言,如果你对一些细节不了解的话,就会掉入到那些深不见底的坑里,下面,我就来总结一些Python里常见的坑。 列表创建和引用 嵌套列表的创建 使用*号来创建一个嵌套的list: li = [[]] ...
摘要:梯度下降算法梯度是个啥我想最开始接触梯度的各位是在方向导数那一章接触这一概念的,如果老师没怎么讲的话可能有些人还不知道梯度是个向量。在二维条件下,因为有了两个偏导数,所以这个向量能表示一圈。 讲你肯定能懂的机器学习多维极值求解事先说明本文面向学习过高等数学统计学和线性代数基础知识的本科生,并假设读者拥有基本的矩阵运算和求导运算的相关知识,类似梯度,方向导数、Hessian Matrix这些东...
阅读 2807·2021-09-28 09:45
阅读 1491·2021-09-26 10:13
阅读 885·2021-09-04 16:45
阅读 3616·2021-08-18 10:21
阅读 1066·2019-08-29 15:07
阅读 2615·2019-08-29 14:10
阅读 3129·2019-08-29 13:02
阅读 2449·2019-08-29 12:31