判断JS类型.md

作者:Adiana    发布于:

JS基本的判断类型的方法有三个,分别是:

  • typeof JS类型判断函数
  • instaneof 判断构造函数原型
  • Object.prototype.toString()

typeof

使用:

1
typeof true === 'boolean'; //ture

判断的结果有六种:(返回字符串)

  • “number”
  • “boolean”
  • “string”
  • “function”
  • “object”
  • “undefined”

结果为”object”的有三种情况:==数组、对象、正则==
typeof最常用到的地方是判断一个已经定义的变量是否被赋值,即用到”undefined”这个结果

instanceof

instanceof需要两个操作数,用法:

1
a instanceof b

判断的结果只有==ture==和==false==两种

instanceof运算符是用来测试一个对象是否在其原型链原型构造函数的属性。其语法是==object instanceof constructor==

用于判断一个变量是不是某个对象的子类,它会沿着原型链proto向上找,如果找到匹配的对象,就返回true,否则返回false

左操作数必须为==对象==,如果不是则直接返回false

右操作数必须是==函数==,如果不是则直接抛出typeError

Object.prototype.toString()

JavaScript 标准文档只给出了一种获取 [[Class]] 值的方法,那就是使用 Object.prototype.toString。

1
2
3
Object.prototype.toString.call([])    // "[object Array]"
Object.prototype.toString.call({}) // "[object Object]"
Object.prototype.toString.call(2) // "[object Number]"
format_list_numbered

(无)

  1. 1. typeof
  2. 2. instanceof
  3. 3. Object.prototype.toString()
vertical_align_top

Copyright © 2017 sin7777(willa)

Powered by Hexo && Theme - Vateral