6.JavaScript编程基础(四):运算符和表达式

一元运算符

++自加

-- 自减

void 运算符

void运算符对任何值返回undefined。该运算符通常用于避免输出不应该输出的值,例如,从HTML的元素调用JavaScript函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:

�如果把这行代码放入HTML页面,点击其中的链接,即可看到屏幕上显示"[object]"。这是因为window.open()方法返回了新打开的窗口的引用。然后该对象将被转换成要显示的字符串。要避免这种效果,可以用void运算符调用window.open()函数:

6.JavaScript编程基础(四):运算符和表达式_第1张图片

这使window.open()调用返回undefined,它不是有效值,不会显示在浏览器窗口中。

提示:请记住,没有返回值的函数真正返回的都是undefined。

逻辑运算符

逻辑运算会有三种NOTANDOR

在学习各种逻辑运算符之前,让我们先了解一下ECMAScript-262 v5规范中描述的ToBoolean操作。

6.JavaScript编程基础(四):运算符和表达式_第2张图片
l

逻辑NOT运算符

n如果运算数是对象,返回false

n如果运算数是数字0,返回true

n如果运算数是0以外的任何数字,返回false

n如果运算数是null,返回true

n如果运算数是NaN,返回true

n如果运算数是undefined,发生错误

6.JavaScript编程基础(四):运算符和表达式_第3张图片

加性运算符

某个运算数是NaN,那么结果为NaN。

-Infinity加-Infinity,结果为-Infinity。

Infinity加-Infinity,结果为NaN。

+0加+0,结果为+0。

-0加+0,结果为+0。

-0加-0,结果为-0。

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

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

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

关系运算符

关系运算符有>(大于),<(小于) >=(大于等于) <=(小于等于) ,它们的运算结果返回的是一个boolean值。

l常规比较

n如果是数学,那么比较与我们在java中操作一样。

n如果是两个字符串使用关系运算符操作,那么我们可以简单理解成是按照字母的码值来比较。比较容易理解的是根据字母顺序,在前的字母比在后的小,所有的小写字母都大于大写字母。

l比较数字或字符串

n如果两个数字字符串比较,例如:”23”<”3”,它们也是按照数字在码表中的码值来比较.

n如果一个是数字一个是字符串,那么会将字符串转换成数字在进行比较。

等性运算符

ECMAScript提供了两套等性运算符:等号与非等号用来处理原始值,全等号与非全等号来处理对象。

6.JavaScript编程基础(四):运算符和表达式_第4张图片

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

非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回true。

三元运算符

在js中也存在三元运算符,与java中使用方式一样。例如:

var max = (num1

> num2) ? num1 :num2;

这个表达式描述的就是如果num1大于num2,那么max的值就是num1,返回之max的结果就是num2.

赋值运算符

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

每种主要的算术运算以及其他几个运算都有复合赋值运算符:

乘法/赋值(*=)

除法/赋值(/=)

取模/赋值(%=)

加法/赋值(+=)

减法/赋值(-=)

逗号运算符

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

var a=1,b=2,c=3;

你可能感兴趣的:(6.JavaScript编程基础(四):运算符和表达式)