学习笔记操作符
1、自增自减算子:分为前后型。
预制体:+ A;
Posttype:+ +;-;
例:
复制代码代码如下所示:
var a,b,i = 1,j=1;
a = ++;
b = j;
警报()+++
a = ++,这相当于a i;i = i + 1;
和b j=j,等价于j=j + 1;b = j;
2,一元加法和减法运算符:a + i;a = i;
复制代码代码如下所示:
var a,b,i = 1,j=1;
a + i;
b = j;
警报()+++
对于整数,一个元素相减相当于取一个负数。
二位运算符
1,按位-非(不)
不是,就是用二进制的形式来反驳所有的数字。
一般用法:位运算不是对数字基本上是负数,然后减去1。
2、根据|(或)
或者,以二进制形式,所有数字和目标数都是以位进行或操作的。
普通用途:无条件的评估使用二进制数字。例如,一个数字| 1相当于接近采集奇数和目前的数量。
3,一点一点地(和)
以二进制形式,所有数字和目标数都按位进行和操作。
常用用法:通常用于二进制取数,例如,1个数,如果结果是偶数0,如果1是奇数。
4,逐位或(XOR)
异或,也就是说,所有的数字都与二进制数的目标数进行比较。只有两个数字是不同的,也就是说,只有一个数字返回到1时,1存储,如两个数字返回到0…
一般用法:异或运算本身是逆的,也就是说,两次或同一个数最终不变,可以用于简单加密,也可以用于交互式数值运算。
5。左移
左移位,即以二进制形式移动所有数字到相应的数字,移出高位(放弃),在低位位置构成零位,左移位不影响符号位。
数学意义:在不溢出数字的前提下,一个正数和一个负数,一个左移位等于2倍的1次,左移位等于2倍的N次方。
6,右边
6.1符号右移:即以二进制形式移动所有值到右边,但保留符号位。
数学意义:在不溢出数字的前提下,右移正负数等于1次除以2,右移N位等于2 N功率。
6.2无符号右移> >:根据二进制形式,所有的值,包括符号都向右移动。
阳性结果与阳性结果相同;
对于负数,由于负数是以绝对值的补形式表示的,无符号右移的结果会非常大。
三,布尔运算符
1,逻辑不是!
逻辑没有被使用!这意味着任何类型的值与ECMAscript可以应用,和一个逻辑非操作返回一个布尔值(true或false)。运营商将其操作数为一个布尔值,然后将其转换为它。
!它相当于布尔()函数。
布尔()转换函数的一组规则。
将数据类型转换为真到假值
布尔真假
字符串任何非空字符串(空字符串)
求任意非零值数值(包括无穷大)0和楠。
对象任何对象null
未定义的没有定义
2。逻辑和
逻辑,有两个操作数。
逻辑和操作可以应用于任何类型的操作数,而不仅仅是布尔值。当一个操作数不是布尔值时,逻辑和操作不一定返回布尔值;在这一点上,它遵循一个规则:
1。如果第一个操作数是一个对象,则返回第二个操作数。
2。如果第二个操作数是一个对象,则只有在第一个操作数的评价结果为真时才会返回对象。
三.如果两个操作符都是对象,则返回第二个操作数。
4。如果操作数为空,则返回null;
5。如果操作数是楠,则返回楠;
6。如果未定义操作数,则返回未定义。
逻辑和操作是短路操作,也就是说,如果第一个操作数可以决定结果,则第二个操作数将不被求值。(可以理解为两个内部返回操作)。因此,当4, 5和6规则冲突时,遵循短路操作的原则。
复制代码代码如下所示:
无功空=空;
南=南;
VAR方法;
测试= nanul;
document.write(测试); / /南
复制代码代码如下所示:
无功空=空;
南=南;
VAR方法;
测试= nulna;
document.write(测试); / /空
3、逻辑或| |
逻辑或有两个操作数。
逻辑或逻辑相似,操作可应用于任何类型的操作数,而不仅仅是布尔值。当操作数不是布尔时,逻辑或操作不一定返回布尔值;此时,它遵循规则:
1。如果第一个操作数是一个对象,则返回第一个操作数。
2。如果第一个操作数的结果是false,则返回第二个操作数。
三.如果两个操作符都是对象,则返回第一个操作数,并遵循第一个规则。
4。如果两个操作数都为空,则返回null;
5。如果两个操作数都是楠,则返回;
6。如果两个操作数都未定义,则返回到未定义的位置。
逻辑或操作是一个短路操作,也就是说,如果第一个操作数结果为真,则第二个操作数将不被计算。
我们可以使用此特性避免变量的null值或未定义值。
例如:var MyObject = firstobject | | secondobject
如果firstobject不为空,然后firstobject分配MyObject,否则secondobject的值赋给MyObject。
以上内容是本文的全部内容,希望对您有所帮助。