乘法运算符
1、乘法运算符
乘法运算符由星号(*)表示,用于两数相乘。
2、除法运算符
除法运算符由斜杠(/)表示,用于两数相除。
3、取模运算符
取模运算符由百分号(%)表示,用于求模。
加性运算符
1、加法运算符
如果运算数都是数字,那么执行常规的加法运算,并返回结果。
如果运算符是字符串,采用以下规则:
- 如果两个运算数都是字符串,把第二个字符串连接到第一个上
- 如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串
//加法运算符
var str1 = "My name is ";
var str2 = "wuhen";
var str3 = str1 + str2;
document.write(str3); //输出 My name is wuhen
document.write("<br>");
2、减法运算符
如果运算数都是数字,那么执行常规的减法运算,并返回结果。
关系运算符
关系运算符执行的是比较运算。每个关系运算符都返回一个布尔值。
1、数字比较
关系运算符小于、大于、小于等于和大于等于执行的是两个数的比较运算,比较方式与算术比较运算相同。
2、字符串比较
对于字符串,第一个字符串中每个字符的代码都与会第二个字符串中对应位置的字符的代码进行数值比较,比较他们的ASCII码返回一个布尔值。
3、数字和字符串比较
无论何时比较一个数字和一个字符串,ECMAScript 都会把字符串转换成数字,然后按照数字顺序比较它们。
如果比较一个无法转换成数字的字符串,会返回NaN。根据规则,任何包含NaN的关系运算符都要返回false。
//关系运算符
var str4 = "Apple";
var str5 = "orange";
document.write(str4<str5);
document.write("<br>"); //输出 true
var str6 = "100";
var str7 = 52;
document.write(str6>str7); //输出 true
document.write("<br>");
var str8 = "a";
var str9 = 10;
document.write(str8>str9); //输出 false
document.write("<br>");
document.write(str8<str9); //输出 false
document.write("<br>");
//只要有NaN都会返回false
等性运算符
1、等号和非等号
在ECMAScript中,等号由双等号(==)表示,当且仅当两个运算数相等时,它返回 true。非等号由感叹号加等号(!=)表示,当且仅当两个运算数不相等时,它返回 true。为确定两个运算数是否相等,这两个运算符都会进行类型转换。
在比较时,该运算符还遵守下列规则:
- 值 null 和 undefined 相等
- 在检查相等性时,不能把 null 和 undefined 转换成其他值
- 如果某个运算数是 NaN,等号将返回 false,非等号将返回 true
- 如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等
2、全等号和非全等号
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。
全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。
//== 和 ===
var test1 = 55;
var test2 = "55";
document.write(test1 == test2); //输出 true
document.write("<br>");
document.write(test1 === test2); //输出 false
document.write("<br>");
//==会进行转型操作,而===不会进行转型操作
条件运算符
在别的语言中称为三目运算符,可以同时操作3个操作数,当条件结果为true时返回value1,为false时返回value2,相当于一个简写的if-else语句。
condition? value1 : value2;
赋值运算符
简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。
复合赋值运算是由乘性运算符、加性运算符或位移运算符加等号(=)实现的。
//复合赋值
var test3 = 100;
test3 = test3 + 100;
test3 += 100;
document.write(test3);//输出 300
//两种赋值方法都是对test3 加了100
逗号运算符
用逗号运算符可以在一条语句中执行多个运算,逗号运算符常用变量声明中。
学习总结
今天学习了JavaScript的运算符,和其他语言有有很多相同的地方,但也有它独特的地方。比如===运算符,不仅要比较值是否相同,还要比较类型是否相同。虽然知识点不怎么难,但是也要好好学才行。