算数运算符
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回number string boolean undefined object
1 2 3 4 5 6 7
| console.log(typeof("123")); console.log(typeof(1)); console.log(typeof(1.6)); console.log(typeof(null)); console.log(typeof(undefined)); console.log(typeof(NaN)); console.log(typeof(true));
|
算数运算符: + - * / %
当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算.
任何值和NaN做运算都得NaN
1. +可以对两个值进行加法运算,并将结果返回.
如果对两个字符串做加法,则会拼接在一起
任何值和字符串做加法运算,都会先转换为字符串,然后再拼接
我们可以利用这一点特性来为任何数据类型做String转换.
这是一种隐式类型转换,实际上也是调用了String()
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| var a = 123; a = 123 + 2;
a = true + 1;
a = true + false;
a = 2 + null;
a = 2 + NaN;
a = "aaa" + "bbb";
a = 100 + "aa";
|
2. -可以对两个值进行减法运算,并将结果返回
任何数据类型和数字做减法都会先转换为Number
1 2 3 4 5 6
| var a = 100; a = 100 - 1; a = 100 - "1"; console.log(a - NaN); console.log(a - null); console.log(a - undefined);
|
3. *可以对两个值进行乘法运算,并将结果返回
任何数据类型和数字做乘法都会先转换为Number
1 2 3 4 5 6
| var a = 100; a = 100 * 1; a = 100 * "1"; console.log(a * NaN); console.log(a * null); console.log(a * undefined);
|
4. /可以对两个值进行除法运算,并将结果返回
任何数据类型和数字做除法都会先转换为Number
可以通过为一个值0 * " 1 " /1来将其转换为Number
原理和Number()函数一样,使用起来更加简单
1 2 3 4 5 6 7
| var a = 100; a = 100 / 1; a = 100 / "1"; console.log(a / NaN); console.log(a / null); console.log(a / undefined); console.log(a + "1");
|
5.%取模运算符(取余数)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
| <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> /* * 运算符也叫操作符 * 通过运算符可以对一个或多个值进行运算,并获取运算结果 * 比如:typeof就是运算符,可以来获得一个值的类型 * 它会将该值的类型以字符串的形式返回 * number string boolean undefined object * * 算数运算符 * 当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算 * 任何值和NaN做运算都得NaN * * + * +可以对两个值进行加法运算,并将结果返回 * 如果对两个字符串进行加法运算,则会做拼串 * 会将两个字符串拼接为一个字符串,并返回 * 任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作 * - * - 可以对两个值进行减法运算,并将结果返回 * * * * * 可以对两个值进行乘法运算 * / * / 可以对两个值进行除法运算 * % * % 取模运算(取余数) */ var a = 123; var result = typeof a; //console.log(typeof result); result = a + 1; result = 456 + 789; result = true + 1; result = true + false; result = 2 + null; result = 2 + NaN; result = "你好" + "大帅哥"; var str = "锄禾日当午," + "汗滴禾下土," + "谁知盘中餐," + "粒粒皆辛苦"; result = 123 + "1"; result = true + "hello"; //任何值和字符串相加都会转换为字符串,并做拼串操作 /* * 我们可以利用这一特点,来将一个任意的数据类型转换为String * 我们只需要为任意的数据类型 + 一个 "" 即可将其转换为String * 这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数 */ var c = 123; c = c + ""; //c = null; //c = c + ""; //console.log(result); //console.log(typeof c); //console.log("c = "+c); result = 1 + 2 + "3"; //33 result = "1" + 2 + 3; //123 result = 100 - 5; result = 100 - true; result = 100 - "1"; result = 2 * 2; result = 2 * "8"; result = 2 * undefined; result = 2 * null; result = 4 / 2; result = 3 / 2; /* * 任何值做- * /运算时都会自动转换为Number * 我们可以利用这一特点做隐式的类型转换 * 可以通过为一个值 -0 *1 /1来将其转换为Number * 原理和Number()函数一样,使用起来更加简单 */ var d = "123"; //console.log("result = "+result); d = d - 0; /*console.log(typeof d); console.log(d);*/ result = 9 % 3; result = 9 % 4; result = 9 % 5; console.log("result = "+result); </script> </head> <body> </body> </html>
|