现在的位置: 首页 > javascript > 正文
javascript中的 && 和 || 运算符
2017年04月07日 javascript ⁄ 共 747字 暂无评论 ⁄ 被围观 235 views+

"逻辑与"以及"逻辑或"对于码农来讲是最最基础的知识点了,不过在JavaScript里面,这两个运算的规律性似乎不容易把握,特别是网上一大堆文章对其进行介绍后,就变得更乌烟瘴气了,为了正视听,本人写篇短文简绍一下这两个运算符。

其实逻辑与和逻辑或的运算规则非常简单,完全不需要记忆各种情况,不信你看:

  • &&(逻辑与):这货就是为了找坏蛋而存在的,找到坏蛋就返回这个坏蛋,如果找到最后也没找到坏蛋,那就会返回最后一个操作数;
  • ||(逻辑或):这货就是为了找好人而存在的,找到好人就返回这个好人,如果找到最后也没找到好人,那么就会返回最后一个操作数;

那么什么是坏蛋呢? 能转化为false的都是坏蛋:null, 0, undefined(未被重写过), NaN, ""(空字符串), false。除了坏蛋之外,其他的就都是好人了。

规则就是这么简单,随便写几个试试就知道正确性了:

  1. false && 1 && 0; // return false:找坏蛋,第一个就是,立刻返回这个坏蛋 false
  2. 1 && 0 && "hi"// return 0: 找坏蛋,1是好人,继续找;0是坏蛋,立刻返回坏蛋 0
  3. 1 && -1 && "ketty"// return ketty: 找坏蛋,第一个不是,第二个还不是,最后一个也不是,所以,返回最后一个操作数 ketty
  4. 0 || {}; // return {}: 找好人,第一个不是,第二个是,返回 {}
  5. 0 || "" || null// return null: 找好人,第一个不是,第二个不是,最后一个也不是,返回最后一个操作数 null

是不是很简单呢?以后还会混乱么? 人家语言本身对这两个操作符设计得还是很到位的,不要因为没有从本质上理解它们,就觉得它们不好用。

给我留言

留言无头像?


×