JS基础题目

39 阅读1分钟

类型及检测方式

1. JS数据类型(8种)

2. 数据类型检测

  1. typeof —— 检测基本数据类型,除了null
  2. instance of —— 通过原型链实现检测实例是否属于某个类
  3. constructor —— 不准确,可以修改constructor
  4. Object.prototype.toString.call()

3. 数据类型转换

对象转基本类型

  1. 调用内置的[Symbol.toPrimitive]函数
  2. 调用valueOf()方法
  3. 调用toString()方法

四则运算转换

对于加法而言

  • 如果一方为字符串,那么就把另一方转换为字符串
  • 如果一方不是数组或字符串,那么就把它转换为数字或字符串
1 + '1' // '11'
true + true // 2
4 + [1,2,3] // "41,2,3"

除了加法的运算符:

  • 只要其中一方是数字,那么另一方就会被转为数字
4 * '3' // 12
4 * [] // 0
4 * [1, 2] // NaN

执行上下文

指向上下文是一个对象,他有三种类型:

  • 全局执行上下文
  • 函数执行上下文
  • eval执行上下文

它包含三个部分:

  • 变量对象VO

  • 作用域链

  • this