【Camel】...简友广场IT@程序员猿媛

前端之路——JS中的typeof

2019-04-19  本文已影响39人  三点水滴

typeof的作用

typeof的作用是用来确定值的类型,返回值的类型为字符串。对于不同类型的值,返回值如下:

  typeof 'foo' // "string"
  typeof 1 //  "number"
  typeof true //  "boolean"
  typeof undefined //   "undefined"
  typeof {} //  "object"
  //*********特殊的结果*********
  typeof null //  "object"
  function foo() {}  
  typeof foo //  "function"
  typeof []  //  "object"

需要注意的是

typeof的安全防范机制

先明确undefinednot defined,前者表示没有值,后者表示未定义。在浏览器中这两种类型的错误信息如下:

  var a
  console.log(a.foo)  //  "undefined"(字符串,不是报错)
  console.log(a.foo)    //  Uncaught TypeError: Cannot read property 'foo' of undefined
  console.log(b)  // Uncaught ReferenceError: b is not defined
  //************使用typeof************
  typeof a  // "undefined"
  typeof b  // "undefined"

也就是说,直接使用 undefined 的值,不会报错,但是调用其属性或者方法会报错;而直接使用 not defined 的值,会立即报错。然而,对not defined 的值使用 typeof 不会报错,而是返回 "undefined",这就提供了一个检测某个变量是否已经声明的工具,这在使用第三方库或者浏览器兼容时会很有用。

上一篇 下一篇

猜你喜欢

热点阅读