常用知识点

# 常用知识点

# 新建数组

  1. 创建长度为 n 的数组
new Array(n);
1
  1. 创建 n 个值为 0 的数组
new Array(n).fill(0);
1

# valueOf 与 toString

  1. valueOf 偏向于运算,toString 偏向于显示
  2. 对象转换时,优先调用 valueOf
  3. 强转字符串优先调用 toString,强转数字优先调用 valueOf
  4. 正常情况下,优先调用 toString
  5. 运算操作符情况下优先调用 valueOf

# 调用 valueOf

调用者 返回值 返回值类型
Array 数组本身 Array
Date 毫秒数 Number
Function 函数本身 Function
Object 对象本身 Object
String 字符串 String

# 调用 toString

调用者 返回值 返回值类型
Array 数组转字符串,相当于 Array.join() String
Boolean 转字符串'true'、'false' String
Date 字符串日期,如'Fri Dec 23 2016 11:24:47 GMT+0800 (中国标准时间)' String
Number 数字字符串 String
Object '[object Object]' String
String 字符串 String

# 双等号左右两边的转换规则?

  • 1、null == undefined 为 true
  • 2、如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——false 转换为 0,而 true 转换为 1;
  • 3、如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值
  • 4、如果一个操作数是对象,另一个操作数不是,则调用对象的 toString()方法,用得到的基本类型值按照前面的规则进行比较

# 数组常用的方法

方法 作用 是否影响原数组
push 在数组后添加元素,返回数组长度
pop 删除数组最后一项,返回被删除项
shift 删除数组第一项,并返回被删除项
unshift 数组开头添加元素,返回数组长度
reserve 反转一个数组,返回修改后的数组
sort 排序一个数组,返回修改后的数组
splice 截取数组,返回被截取的区间
join 将一个数组所有元素连接成字符串并返回这个字符串
concat arr1.concat(arr2, arr3) 连接数组
map 操作数组每一项并返回一个新数组
forEach 遍历数组,没有返回值
filter 对数组所有项进行判断,返回符合规则的新数组
every 数组每一项都符合规则才返回 true
some 数组有符合规则的一项就返回 true
reduce 接收上一个 return 和数组的下一项
flat 数组扁平化
slice 截取数组,返回被截取的区间

# Math 的常用方法有哪些?

方法 作用
Math.max(...arr) 取 arr 中的最大值
Math.min(...arr) 取 arr 中的最小值
Math.ceil(小数) 小数向上取整
Math.floor(小数) 小数向下取整
Math.round(小数) 小数四舍五入
Math.sqrt(num) 对 num 进行开方
Math.pow(num, m) 对 num 取 m 次幂
Math.random() * num 取 0-num 的随机数

# 使用 Object.prototype.toString.call() 返回的结果

类型 toString 结果
Map Object.prototype.toString.call(new Map()) [object Map]
Set Object.prototype.toString.call(new Set()) [object Set]
Array Object.prototype.toString.call([]) [object Array]
Object Object.prototype.toString.call({})) [object Object]
Symbol Object.prototype.toString.call(Symbol()) [object Symbol]
RegExp Object.prototype.toString.call(new RegExp()) [object RegExp]
Function Object.prototype.toString.call(function() {}) [object Function]
Null Object.prototype.toString.call(null) [object Null]
Undefined Object.prototype.toString.call(undefined) [object Undefined]
NaN Object.prototype.toString.call(NaN) [object Number]
最后更新时间: 2024/5/30 08:43:24