第十二章:第6节JavaScript运算符

更新于:2017-11-03 13:08:44

JS的运算符和PHP都差不多,快速过一遍:


1)算术运算符:+-*/%(求余)++--


算术运算符用于执行变量与/或值之间的算术运算。

1.png


算术运算符完全和PHP的一样。


“++”、“--”和PHP一样可放变量后面也可放变量前面。


1)++a 和 a++ 在不赋值前,结果是一样的。


A = 10;

A++;  //展开后 A = A + 1

++A   //展开后 A = A + 1


2)如果将++a或a++赋给其它变量,那么结果就不一样了。


var a = 10;  //给变量a赋值

var b = a++;  //先将a的值赋给变量b,再将a的值加1(先赋值后加1)



特别说明:


var sum = 8.1; 

var n = 3;

document.write( sum/n );


获得的值是“2.6999999999999997”。


在JS中,像这样的运算不能精确表达,如果直接用于比较运算就会出错。解决办法就是要像PHP一样对小数结果四舍五入。


可用:toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。


var m = sum/n;

m = m.toFixed(2);


(2)比较运算符:>>=<<===!====!==


比较运算符在逻辑语句中使用,以测定变量或值是否相等。

1.png


比较运算符和PHP的是一样的,只是个别数据比较会有所不同。下一节专门写下PHP和JS数据比较有哪些不一样。


(3)逻辑运算符:&&||!


逻辑运算符用于测定变量或值之间的逻辑。

1.png


注意:


与PHP有点不一样的地方。

在php里边,最终结果是“布尔”结果

在javascript里边,&&和||是其中一个操作数,!是布尔结果


1.png

1.png

在JS中,逻辑运算符依然有出现“短路现象”。即:


逻辑与,当第一个是false,它就直接返回false,不再去验证第二个。

逻辑或,当第一个是true,它就直接返回true了,不再去验证第二个。


这个现象要注意,有时会影响程序的最终效果。


(4)字符串运算符:++=


+ 运算符(字符串连接符)用于把文本值或字符串变量加起来(连接起来)。


在PHP中是用“.”,因JS中“.”作用相当于PHP“->”,所以JS中用“+”做字符串连接符。


“+”在JS中有两个作用,难免会让人有所疑惑,什么时候是算术运算符?什么时候是字符串连接符?看示例:


1.png

1.png

从结果中可看出,只有数值型+数值型时,“+”才是算术运算符,其他都是字符串连接符。


这个细节很重要,程序在做加法运算,如果有一个数值是字符串型,那得到的结果就不是正确的,会影响到程序的正常运行。


额外演示:


用“-”看看数值型与纯数字字符串能否正常相减。


1.png

1.png

结果显示是可以的。


(5)赋值运算符:=+=-=*=/=%=


赋值运算符用于给 JavaScript 变量赋值。

1.png


(6)三元运算符:?:


语法格式:条件表达式 ? 结果1  :   结果2

说明:如果条件为true,则执行“结果1”代码;如果条件为false,则执行“结果2”代码。


和PHP的三元运算符一样,不详细介绍了。


(7)特殊运算符


new运算符:创建对象实例或创建一个新对象。如:var today = new Date();  //创建系统时钟的一个实例


delete运算符:删除对象属性或者删除数组中的元素。如:delete arr[0]; //删除数组中索引号为0的元素


typeof运算符:判断变量的数据类型,返回6个字符串。如:typeof(a)  或者  typeof a


void运算符:一般用于屏蔽超链接的返回值,作用于任何类型数据都将返回undefined。

举例:<a href="javascript:void(0)">新浪网</a>


[ ]中括号:访问数组中的元素时来用。如:arr[5] = 100


( )小括号:有两层含义。一是运算符的优先级。是函数或方法后面跟的那个小括号。

  Number( )、Boolean()、String()、parseInt()、parseFloat()


运算符优先级


1.png

和PHP大体上是一样的。


本节学习代码》》》