03-运算符
第三章 运算符¶
统计信息:字数 2034 阅读5分钟
2021-11-16 2023-04-03
3.1 算术运算符¶
加法¶
加法运算符存在重载,可能出现数据类型的转化,所以使用字符串和数值需要小心。对象相加,首先返回对象自身[Object Object], 然后转化成字符串相加。
余数¶
余数运算:运算结果的符号取决于被除数,如果被除数是负数,那么余数就是负数(和除数无关)。如果被除数可能是负数,最好先对被除数取绝对值之后进行计算。
function isOdd(num) {
return Math.abs(num) % 2 === 1;
}
isOdd(-5); // true
由于JS小数(浮点数计算不准确,所以余数结果也不一定准确)
指数¶
指数运算符(**)
console.log(2 ** 10); // 1024
3.2 比较运算符¶
大于小于¶
字符串进行比较,根据Unicode编码进行比较(通常排序会这样比较);汉字或者对象比较,没有任何实际意义
console.log('c' < 'C'); // true
console.log('大' < '小'); // false
任何值与 NaN 比较,返回的都是false
对象和对象的比较,首先调用 valueOf,然后调用 toSting 进行比较(通常不会这样做)
[2] > [1] // true
[2] > [11] //true
// 首先转化成字符串后,然后才能进行比较
全等¶
全等比较(= = = ),如果是复杂数据类型进行比较,那么会比较内存地址。两个空数组不全等,两个指向相同数组的指针(引用)是全等的。
对象的大于小于比较的是值,全等比较的是内存地址。undefined 和 null 自身全等,NaN 自身不全等。两个未赋值的变量都是undefined,所以全等。
位运算¶
二进制位运算符:这个使用的不多,可能造成混淆,可能在计算颜色 RGB 时需要,计算速度很快,操作底层数据,只整数起作用,浮点数不能使用。
3.3 其他运算符¶
void 返回一个空,用于界面中a标签超链接阻止默认的事件
<a href="javascript: void(f())">文字</a>
Last update:
November 9, 2024