javascript 运算符

来源:互联网 发布:花生壳使用自己的域名 编辑:程序博客网 时间:2024/06/15 23:01

1、一元运算符

(1)、delete delete运算符删除对以前定义的对象属性或方法的引用。例如:

var o = new Object;o.name = "Bob";alert(o.name);   //输出"Bob"delete o.name;alert(o.name);   //输出"undefined"
delete运算符不能杀出开发者未定义的属性和方法

(2)、void void运算符对任何值返回undefined。该运算符通常用于输出不应该输出的值

作用:a、通常采用void(0)取undefined比采用字面上的undefined更靠谱,应优先采用void(0)这种方法

    b、填充<a>的href确保点击的时候不会产生页面跳转;填充<img>的src,确保不会向服务器发出垃圾请求

<a href="javascript:void(0)"><img src="javascript:void(0)">  
(3)、++、-- 前增量/前减量运算符 后增量/后减量运算符

前增量运算符,就是数值上加 1,形式是在变量前放两个加号(++),后增量运算符则是在变量后面放两个加号(++)

前减量运算符是从数值上减 1,形式是在变量前放两个减号(--),后量运算符则是在变量后面放两个加号(++)

注意:如果“++”位于运算数之前,先对运算数进行增量,然后计算运算数增长后的值。如果“++”位于运算数之后,先计算运算数未增长之前的值,然后对运算数增量。--也同样。

i=1j = ++i; //先将i增量为2,然后将2赋值给j,i的值是2,j的值也是2i = 1; //赋值给i值1j = i++; //先将i赋值给j,然后对将i值增量到2,i的值是2,j的值是1。
2、位运算符

(1)、NOT ~

(2)、AND &

(3)、OR |

(4)、XOR ^

(5)、左移运算 <<

(6)、有符号右移运算 >>

(7)、无符号右移运算 >>>

3、逻辑运算符

(1)、NOT运算符(非) ! 如果运算数为0、空字符串、null、undefined、NaN,返回true;其余都为false

(2)、AND运算符(与) && 只有运算符前后的运算数都为true(非boolean值的话,不能是0、空字符串、null、undefined、NaN)结果才为true;运算数中有NaN,有可能结果也为NaN

(3)、OR 运算符(或) || 只要运算符前后的运算数有一个为true,结果就为true;运算数中有NaN,有可能结果也为NaN

4、加法和减法

(1)、加法运算符 + (加法运算符比较特殊,用于计算和连接字符串)某个运算数是 NaN,那么结果为 NaN。

如果某个运算数是字符串,那么采用下列规则:

如果两个运算数都是字符串,把第二个字符串连接到第一个上。

如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。

(2)、减法运算符 - 两数相减 某个运算数是 NaN,那么结果为 NaN。某个运算符不是数字,那么结果为 NaN。

5、乘法、除法、求余(取模)运算符

这和我们在数学中学的乘法,除法,求余没啥区别

6、关系运算符

关系运算符执行的是比较运算。每个关系运算符都返回一个布尔值。

两个数的比较运算,比较方式与算术比较运算相同。

两个字符串比较运算,比较的是字母的ASCII值(从左到右,直到遇见不一样的字符,然后比较ASCII值)。

比较数字和字符串,两个运算数都是字符串,所以比较的是它们数字的ASCII值。

无论何时比较一个数字和一个字符串,ECMAScript 都会把字符串转换成数字,然后按照数字顺序比较它们。

7、等性运算符

等号和非等号 == !=

在 ECMAScript 中,等号由双等号(==)表示,当且仅当两个运算数相等时,它返回 true。非等号由感叹号加等号(!=)表示,当且仅当两个运算数不相等时,它返true.
如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。

8、全等号和非全等号 === !==(值和类型)

全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。

var sNum = "1";var iNum = 1;alert(sNum == iNum);    //输出 "true"alert(sNum === iNum);    //输出 "false"
9、条件运算符

var iable = boolean_expression ? true_value : false_value;

根据 boolean_expression 的计算结果有条件地为变量赋值。如果 Boolean_expression 为 true,就把 true_value 赋给变量;如果它是 false,就把 false_value 赋给变量。

10、赋值运算符

简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。

复合赋值运算符

乘法/赋值(*=),

除法/赋值(/=),

取模/赋值(%=),

加法/赋值(+=),

减法/赋值(-=),

左移/赋值(<<=),

有符号右移/赋值(>>=),

无符号右移/赋值(>>>=)

11、逗号运算符

用逗号运算符可以在一条语句中执行多个运算。

逗号运算符常用变量声明中,一个声明可以定义多个变量,之前使用逗号隔开。

0 0