Skip to content

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