摘要:
要进行各种各样的运算,就要使用不同的运算符号。 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、 算术运算符(+,-,*,/,++,--,%)、 比较运算符(>,<,<=,>=,==, ,!=,!==)、 逻辑运算符(||,&&,!)、 条件运算(?:)、 位移运算符(| 阅读全文
摘要:
按位运算符是把操作数看作一系列单独的位,而不是一个数字值。所以在这之前,不得不提到什么是“位”: 数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内被存储为 0 0 0 0 0 0 1 0,当我们将内存内的位值改变之后,这个值代表的意义也就变了,比 阅读全文
摘要:
昨天了解了一下Fisher–Yates shuffle费雪耶兹随机置乱算法,现在再来看看下面这个曾经网上常见的一个写法: 或者使用更简洁的 ES6 的写法: 但是这种写法是有问题的,它并不能真正地随机打乱数组。 问题 看下面的代码,我们生成一个长度为 10 的数组['a', 'b', 'c', 'd 阅读全文
摘要:
位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。 重温整数 ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢? 有符号整数使用 31 位表示整数的数值,用第 阅读全文