为网站做外链的方式品牌网站建设必在大蝌蚪
为网站做外链的方式,品牌网站建设必在大蝌蚪,用div做网站代码,app小程序上一篇文章呢#xff0c;我们讲述了JavaScript运算符中的关系运算符和逻辑运算符#xff0c;那么紧接上一篇的文章我们今天来说说逻辑运算符。引言逻辑运算符不是很难#xff0c;也不是很多#xff0c;我们只要记住三个就可以啦#xff01;分别是#xff1a;#xff01;…上一篇文章呢我们讲述了JavaScript运算符中的关系运算符和逻辑运算符那么紧接上一篇的文章我们今天来说说逻辑运算符。引言逻辑运算符不是很难也不是很多我们只要记住三个就可以啦分别是 逻辑非 逻辑与|| 逻辑或跟我们上初中判断命题的真假一样返回的结果无异于真“或”者“假”原理上都是一样的还有没有小伙伴记得啊如下图命题的真假判断JavaScript逻辑运算符也是一样的我们先看看下图逻辑运算符其中expr可能是任何一种类型, 不一定是布尔值逻辑非()简单说就是不是(not)的意思符合双重否定变肯定的旨意。//给定 x6 以及 y3!(xy) 为 true规则如果一个操作数是一个对象返回false。如果一个操作数是一个空字符串返回false。如果一个操作数是一个非空字符串返回false。如果一个操作数是一个数值0返回true。如果一个操作数是任意的非零字符返回false。如果一个操作数是null返回true。如果一个操作数是NaN返回true。如果一个操作数是undefined返回true。特性1、如果运算数的值为false则返回true否则返回false。2、连续使用两次可将任意类型转化为布尔型值。逻辑与()简单说就是和(and)的意思。//给定 x6 以及 y3(x 10 y 1) 为 true规则第一个操作数是对象则返回该对象。第二个操作数是对象第一个操作数值为true是返回该对象。两个操作数都是对象则返回第二个操作数。一个操作数是NULL返回NULL。一个操作数是NaN返回NaN。一个操作数是undefined返回undefined例如var str new Array(); console.log(str8)//返回值为8console.log(8null);//返回结果为null特性1、当且仅当两个运算数的值都是true时才返回true否则返回false。2、短路操作当第一个操作数的值为false时则不再对第二个操作数进行求值。逻辑与逻辑非都遵循从左向右判断谁的第一个操作数逻辑判断为true就返回谁只不过逻辑非必须两个都为true而且谁是第一个false就返回谁。逻辑或(||)简单说就是或(or)的意思。//给定 x6 以及 y3(x5 || y5) 为 false规则第一个操作数是对象返回第一个操作数第一个操作数值为false返回第二个操作数两个操作数都是对象返回第一个操作数两个操作数都是NULL返回NULL两个操作数都是NaN返回NaN两个操作数都是undefined返回undefined特性1、当且仅当两个运算数的值都为false时才会返回false否则返回true。2、如果第一个操作数值为true则不会对第二个操作数进行求值。位运算符按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成)而不是十进制、十六进制或八进制数值。例如十进制数9用二进制表示则为1001。按位操作符操作数字的二进制形式但是返回值依然是标准的JavaScript数值。JavaScript中的按位操作符有符号32位整数所有的按位操作符的操作数都会被转成补码(twos complement)形式的有符号32位整数。补码形式是指一个数的负对应值(negative counterpart)(如 5和-5)为数值的所有比特位反转后再加1。反转比特位即该数值进行’非‘位运算也即该数值的反码。例如下面为整数314的二进制编码00000000000000000000000100111010下面编码 ~314即 314 的反码11111111111111111111111011000101补码保证了当一个数是正数时其最左的比特位是0当一个数是负数时其最左的比特位是1。因此最左边的比特位被称为符号位(sign bit)。0 是所有比特数字0组成的整数。0 (base 10) 00000000000000000000000000000000 (base 2)-1 是所有比特数字1组成的整数。-1 (base 10) 11111111111111111111111111111111 (base 2)-2147483648(十六进制形式-0x80000000)是除了最左边为1外其他比特位都为0的整数。-2147483648 (base 10) 10000000000000000000000000000000 (base 2)2147483647(十六进制形式0x7fffffff)是除了最左边为0外其他比特位都为1的整数。2147483647 (base 10) 01111111111111111111111111111111 (base 2)数字-2147483648 和 2147483647 是32位有符号数字所能表示的最小和最大整数。按位逻辑操作符从概念上讲按位逻辑操作符按遵守下面规则操作数被转换成32位整数用比特序列(0和1组成)表示。超过32位的数字会被丢弃。例如, 以下具有32位以上的整数将转换为32位整数:转换前: 11100110111110100000000000000110000000000001转换后: 10100000000000000110000000000001第一个操作数的每个比特位与第二个操作数的相应比特位匹配第一位对应第一位第二位对应第二位以此类推。位运算符应用到每对比特位结果是新的比特值。 (按位与)对每对比特位执行与(AND)操作。只有 a 和 b 都是 1 时a AND b 才是 1。与操作的真值表如下9 (base 10) 00000000000000000000000000001001 (base 2)14 (base 10) 00000000000000000000000000001110 (base 2)14 9 (base 10) 00000000000000000000000000001000 (base 2) 8 (base 10)将任一数值 x 与 0 执行按位与操作其结果都为 0。将任一数值 x 与 -1 执行按位与操作其结果都为 x。| (按位或)对每一对比特位执行或(OR)操作。如果 a 或 b 为 1则 a OR b 结果为 1。或操作的真值表9 (base 10) 00000000000000000000000000001001 (base 2)14 (base 10) 00000000000000000000000000001110 (base 2)14 | 9 (base 10) 00000000000000000000000000001111 (base 2) 15 (base 10)将任一数值 x 与 0 进行按位或操作其结果都是 x。将任一数值 x 与 -1 进行按位或操作其结果都为 -1。^ (按位异或)对每一对比特位执行异或(XOR)操作。当 a 和 b 不相同时a XOR b 的结果为 1。异或操作真值表9 (base 10) 00000000000000000000000000001001 (base 2)14 (base 10) 00000000000000000000000000001110 (base 2)14 ^ 9 (base 10) 00000000000000000000000000000111 (base 2) 7 (base 10)将任一数值 x 与 0 进行异或操作其结果为 x。将任一数值 x 与 -1 进行异或操作其结果为 ~x。~ (按位非)对每一个比特位执行非(NOT)操作。NOT a 结果为 a 的反转(即反码)。非操作的真值表9 (base 10) 00000000000000000000000000001001 (base 2)~9 (base 10) 11111111111111111111111111110110 (base 2) -10 (base 10)对任一数值 x 进行按位非操作的结果为 -(x 1)。例如~5 结果为 -6。按位移动操作符按位移动操作符有两个操作数第一个是要被移动的数字而第二个是要移动的长度。移动的方向根据操作符的不同而不同。按位移动会先将操作数转换为大端字节序顺序(big-endian order)的32位整数,并返回与左操作数相同类型的结果。右操作数应小于 32位否则只有最低 5 个字节会被使用。注Big-Endian:高位字节排放在内存的低地址端低位字节排放在内存的高地址端又称为高位编址。Big-Endian是最直观的字节序①把内存地址从左到右按照由低到高的顺序写出②把值按照通常的高位到低位的顺序写出③两者对照一个字节一个字节的填充进去。 (左移)该操作符会将第一个操作数向左移动指定的位数。向左被移出的位被丢弃右侧用 0 补充。例如9 2 得到 36: (有符号右移)该操作符会将第一个操作数向右移动指定的位数。向右被移出的位被丢弃拷贝最左侧的位以填充左侧。由于新的最左侧的位总是和以前相同符号位没有被改变。所以被称作“符号传播”。例如 9 2 得到 2:9 (base 10): 00000000000000000000000000001001 (base 2)9 2 (base 10): 00000000000000000000000000000010 (base 2) 2 (base 10) (无符号右移)该操作符会将第一个操作数向右移动指定的位数。向右被移出的位被丢弃左侧用0填充。因为符号位变成了 0所以结果总是非负的。(译注即便右移 0 个比特结果也是非负的。)对于非负数有符号右移和无符号右移总是返回相同的结果。例如 9 2 和 9 2 一样返回 2 9 (base 10): 00000000000000000000000000001001 (base 2)9 2 (base 10): 00000000000000000000000000000010 (base 2) 2 (base 10)但是对于负数却不尽相同。 -9 2 产生 1073741821 这和 -9 2 不同-9 (base 10): 11111111111111111111111111110111 (base 2)-9 2 (base 10): 00111111111111111111111111111101 (base 2) 1073741821 (base 10)说到这里本篇的逻辑运算符和位运算符我们就讲到这里了下期我们再讲JavaScript数组。想了解更多的前端技术关注我持续为您输出干货谢谢
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92621.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!