Js 布尔值操作符 && 和 ||
2021-06-09 19:01
标签:解释 书籍 就会 amp define 设计 一个 布尔类型 逻辑 在js中,逻辑与(&&) 和 逻辑或(||)可以对任意的数据类型进行操作,而在高级程序设计中只给出了一系列的规则,并没有进行解释,所以经常记不住。在读其它书籍的时候,读到了它的原理,其实也很简单,不过还是要记一下。 逻辑与在对其它数据类型进行操作的时候,会对第一个操作数先进行布尔类型进行转换,看看它是true,还是false, 如果是false的话,它就会返回第一个操作数,如果是true, 它就会对第二个操作符进行计算,返回第二个操作符,因为它是一种短路操作。 如果第一个操作数是对象,它就会返回第二个操作数,因为,第一个操作数是对象,在进行布尔类型操作的时候,它永远是true, 所以对第二个数进行操作,返回它。 如果有一个操作数是null,undefined, NaN,则返回它们。 如果第一个操作符是null, undefined, NaN, 对它们进行布尔类型转换,是false, 根据短路原则,不用对第二个操作数进行操作,直接返回第一个操作数, 返回null, undefined, NaN; 如果第二个操作数是null, undefined, NaN, 在第一个操作作是true的情况下,它自然会返回。 逻辑或(||)的操作原理也是一样,只不过,只要有一个是true, 它就返回true, 所以逻辑或在对其它数据类型进行操作的时候,只要第一个操作数进行布尔类型转换的时候返回为true,就返回第一个操作数,否则返回第二个操作数,因为这也是短路操作。 如果第一个操作数是对象,则返回第一个操作数,因为对象转换为布尔值都是true,所以直接返回,不用对第二个操作数进行操作。 如果两个值都是null ,则返回null. 因为第一个操作数是null,它为false,会对第二个操作符,进行操作,然后返回。所以返回第二个操作数null. Js 布尔值操作符 && 和 || 标签:解释 书籍 就会 amp define 设计 一个 布尔类型 逻辑 原文地址:http://www.cnblogs.com/SamWeb/p/7298246.html
文章标题:Js 布尔值操作符 && 和 ||
文章链接:http://soscw.com/index.php/essay/92798.html