JS运算
2021-01-18 02:12
标签:布尔值 color value 规则 除法 自动 使用 相加 code 运算符 一元运算符:只能操作一个值的运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 一元运算符 1、递增++和递减-- 2、前置和后置的区别 在没有赋值操作,前置和后置是一样的。但在赋值操作时,如果递增或递减运算符前置,那么前置的运算符会先累加或累减再赋值,如果是后置运算符则先赋值再累加或累减。 3、其他类型应用一元运算符的规则 4、加和减运算符 加运算规则如下: 减运算规则如下: 正运算符和负运算符可像上面进行类型转换 算术运算符 ECMAScript定义了5个算术运算符,加减乘除求模(取余) 如果在算术运算的值不是数值,那么后台会先使用Number转型函数将其转换为数值(隐式转换) 1、加法 2、减法 3、乘法 4、除法 5、求模(取余) JS运算 标签:布尔值 color value 规则 除法 自动 使用 相加 code 原文地址:https://www.cnblogs.com/crazier/p/13348179.htmlvar box = 100;
++box; //把box累加一个1,相当于box=box+1
--box; //把box累减一个1,相当于box=box-1
box++; //同上
box--; //同上
var box = 100;
var age = ++box; //age的值为101
var height = box++; //height值为100
var box = ‘89‘; box++; //90,数值字符串自动转换成数值
var box = ‘ab‘; box++; //NaN,字符串包含非数值转成NaN
var box = false; box++; //1,false转成数值是0,累加就是1
var box = 2.3; box++; //3.3,直接加1
var box = { //1,不设置toString或valueOf即为NaN
toString: function() {
return 1;
}
}; box++;
var box = 100; +box; //100,对于数值,不会产生任何影响
var box = ‘89‘; +box; //89,数值字符串转换成数值
var box = ‘ab‘; +box; //NaN,字符串包含非数值转成NaN
var box = false; +box; //0,布尔值转换成相应的数值
var box = 2.3; +box; //2.3,没有变化
var box = { //1,不设置toString或valueOf即为NaN
toString: function() {
return 1;
}
}; +box;
var box = 100; -box; //-100,对于数值,直接变负
var box = ‘89‘; -box; //-89,数值字符串转换成数值
var box = ‘ab‘; -box; //NaN,字符串包含非数值转成NaN
var box = false; -box; //0,布尔值转换成相应的数值
var box = 2.3; -box; //-2.3,没有变化
var box = { //-1,不设置toString或valueOf即为NaN
toString: function() {
return 1;
}
}; -box;
var box = 1 + 2; //等于3
var box = 1 + NaN; //NaN,只要有一个NaN就为NaN
var box = Infinity + Infinity; //Infinity
var box = -Infinity + -Infinity; //-Infinity
var box = Infinity + -Infinity; //NaN,正无穷和负无穷相加等于NaN
var box = 100 + ‘100‘; //字符串连接符,有字符串就不是加法
var box = ‘您的年龄是:‘ + 10 + 20; //您的年龄是:1020,被转换成字符串
var box = 10 + 20 +‘是您的年龄‘; //30是您的年龄,没有被转换成字符
var box = ‘您的年龄是:‘ + (10 + 20); //您的年龄是:30,没有被转换成字符串
var box = 10 + 对象; //10[object Object],如果有toString()或valueOf()则返回 10+返回的数值
var box = 100 - 70; //等于30
var box = -100 - 70; //等于-170
var box = -100 - -70; //-30,一般写成-100 - (-70)比较清晰
var box = 1 - NaN; //NaN,只要有一个NaN就为NaN
var box = Infinity - Infinity; //NaN
var box = -Infinity - -Infinity; //NaN
var box = Infinity - -Infinity; //Infinity
var box = -Infinity - Infinity; //-Infinity
var box = 100 - true; //99,true转成数值为1
var box = 100 - ‘‘; //100,‘‘转成了0
var box = 100 - ‘70‘; //30,‘70‘转成了数值70
var box = 100 - null; //100,null转成了0
var box = 100 - ‘Lee‘; //NaN,Lee转成了NaN
var box = 100 - 对象; //NaN,如果有toString()或valueOf()则返回 10-返回的数值