JavaScript怎么做运算呢?JavaScript的运算符与其他语言又有什么不同呢?现在小编就给大家讲解一下吧。
JavaScript教程之运算符
1、javascript具有下列种类的运算符:算术运算符;等同运算符与全同运算符;比较运算符;
2、目的分类:字符串运算符;逻辑运算符;逐位运算符;赋值运算符;
3、特殊运算符:条件运算符;typeof运算符;创建对象运算符new;delete运算符;void运算符号;逗号运算符;
算术运算符:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 --
等同运算符与全同运算符:== 、 ===、 !== 、 !===
比较运算符:《 、 》 、 《= 、 》=
字符串运算符::《 、 》 、 《= 、 》= 、 = 、 +
逻辑运算符:&& 、 ||、 !、
赋值运算符:=、 +=、 *=、 -=、 /=
规则:
一、一定要注意传递给运算符的数据类型和返回的数据类型!不同的运算符都期望它的运算数表达式计算出的结果符合某种数据类型。
例如:对字符串是不能进行乘法运算的,“a” * “b” 是不合法的,但是,在可能的情况下,javascript会把表达式转换成正确的类型,因此,表达式 “3” * “5” 是合法的,javascript将字符串转换成数字执行运算,结果返回的是数字15,而不是字符串“15”。
二、+ 根据运算数的不同,具有不同的表现:
字符串 + 字符串 = 字符串(被连接);“a” + “b” = “ab” “5” + “6” = “11”
字符串 + 数字 = (字符串转换成数字)字符串(被连接);“a” + 5 = “a5” 5被转换成字符串 “1” + 0 = “10”
数字 + 数字 = 数字(相加)5 + 5 = 10。
三、注意运算符的结合性,有些运算符从左到右的结合性;有些从右到左结合性。
例如:w = a + b + c 等同于 w = (a + b) + c;
w = ---b 等同于 w = - ( - ( -b ) ); w = a = b = c 等同于 w= ( a = ( b = c ))
一元运算符、赋值运算符、三元运算符的结合性是从右到左的;
四、算术运算符规则:
“+”:可以进行“加法”与“连接”运算;如果2个运算符中的一个是字符串,javascript就将另一个转换成字符串,然后将2个运算数连接起来。
“+”:如果一个运算数是对象,javascript就会将对象转换成数字做加法运算或者字符串做连接运算;
“-”“*”“/” 如果2个运算数中的一个是是非数字,则将它转化成数字执行数学运算。
“/” 在javascript中,由于所有的数都是浮点数,除法的结果都是浮点数,5 / 2 = 2.5 ;除数为0的结果为正负无穷;0/0为NaN;
“%”模运算符:计算第一个运算数对第二个运算数的模,就是第一个运算数被第二个运算数除时,返回余数。如果运算数是非数字的,则转换成数字。
“-”一元取反:将运算数取反,如果运算数不是数字,则转化成数字。
“++”“--”增量运算符/减量运算符号:运算数必须是一个变量、树组的一个元素或对象的一个属性。如果运算数不是数字,则转换成数字。
注意:如果“++”位于运算数之前,先对运算数进行增量,然后计算运算数增长后的值。
如果“--”位于运算数之后,先计算运算数未增长之前的值,然后对运算数增量。
例如:i = 1; //赋值给i值1
j = ++i; //先将i增量为2,然后将2赋值给j,i的值是2,j的值也是2。
i = 1; //赋值给i值1
j = i++; //先将i赋值给j,然后对将i值增量到2,i的值是2,j的值是1。
减量运算符“--”与“++”相同。
五、等同运算符与全同运算符:
(一)“==”“!==”等同运算符与非等同运算符:
比较2个运算数,返回一个不布尔值。
比较数值、字符串、布尔值使用的都是量值。当且仅当两个变量存放的值相等的时候,他们才相等。
比较对象、数组、函数的时候,使用的是引用,只有2个变量引用的是同一个对象时,他们才是相等的
。两个不同的数组是完全不同的,即使他们具有完全相同的元素。对于存放对象、数组、函数的引用的变量来
说,只有当他们引用的是同一个对象、数组、函数的时候,他们才相等。