js运算中的几个注意点
Posted chuanzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js运算中的几个注意点相关的知识,希望对你有一定的参考价值。
1.除了字符串参与的加法外,非Number类型的值进行运算时,会将这些值转换为Number然后再运算
var res = true + 100;
console.log(res); // =101
var res1 = true + false;
console.log(res1);//=1
var res2 = null + 10;
console.log(res2);//=10
// 字符串做减法也会转换为Number
var res1 = 100 - ‘123‘;
console.log(res1);//=-23
2. 任何值和NaN做运算都得NaN
3. 任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
4. 除0结果是无限大Infinity
<script> var res = 100 / 0; console.log(res);//Infinity </script>
5. *=运算符运算顺序
<script> var a = 100; a *= 100 + 30; // a = a * (100 + 30) console.log(a);//=13000 </script>
6. 非数值与数值进行比较时,会将其转换为数字然后在比较
console.log(1 > false); // true console.log(1 >= true); // true console.log(1 >= ‘it10‘); // true console.log(1 > null); // true
7. 如果符号两侧的值都是字符串时,不会将其转换为数字进行比较, 而会分别比较字符串中字符的Unicode编码
8. null、undefined 、NaN比较
console.log(null == null);// true console.log(undefined == undefined);// true console.log(NaN == NaN); // false
var num = NaN;
console.log(isNaN(num)); // true
console.log(null == undefined); // true
console.log(null === undefined); // false
9. 逻辑短路
&&:第一个为假,第二个将不会继续运算
||:第一个为真,第二个将不会继续运算
10. 逻辑运算返回值
//对于非Boolean类型的数值, 逻辑与会自动将其转换为Boolean类型来判断 //逻辑与运算 // 如果条件A成立, 不管条件B成不成立都返回条件B数值本身 var result = 123 && ‘abc‘; console.log(result);//=‘abc‘ var result = 123 && 0; console.log(result);//=0 //如果条件A不成立, 则返回条件A的数值本身 var result = null && 0; console.log(result);//=null //逻辑或运算 var result = 123 || ‘abc‘; console.log(result);//=123 var result = null || 0; console.log(result);//=0
11. 对一个值进行两次取反,它不会变化
12. js括号里有多个逗号分隔的表达式会怎么运算和取值?
依次从左至右运算,取值为最后一个表达式的值
<script> var num1, num2, num3, num4; var result = (num1 = 2 + 3, num2 = 3 * 5, num3 = 4 /7, num4 = 3 + 5); console.log(result); //result=8 var a, b; b = (a=3, --a, a * 5); console.log(b);//b=10 </script>
以上是关于js运算中的几个注意点的主要内容,如果未能解决你的问题,请参考以下文章