zoukankan      html  css  js  c++  java
  • Object.prototype.toString & typeof

    Object.prototype.toString & typeof 

    Object.prototype.toString 获取某个对象属于哪种内置类型

    typeof  得到某个对象的类型

    差别:

    举个样例:

    var arr = new Array();
    typeof(arr); //object
    Object.prototype.toString.call(arr); //[Object Array]

     

    推断某个对象值属于哪种内置类型

    Object.prototype.toString

     

    ECMAScript 3

    1.获取this对象的[[Class]]属性的值

    2.拼接字符串:[object  + 1步得到的值 ]

    3.返回第2步的操作结果

     

    [[Class]]是一个内部属性,全部的对象(原生对象和宿主对象)都拥有该属性

    一个字符串值,表明了该对象的类型

     

    ECMAScript 5

    1.假设this的值为undefined。则返回 [object Undefined]

    2.假设this的值为null,则返回 [object Null]

    3.获得[[Class]]属性的值

    4.拼接字符串[object  + 3步得到的值 ]

    5.返回第4步的操作结果

     

    [[Class]]的值:"Arguments", "Array", "Boolean", "Date", "Error", "Function", "JSON", "Math", "Number", "Object", "RegExp", "String"

     

    ECMAScript 6

    6中比較复杂,当然也是严谨的表现,临时6还没有盛行的浏览器,这是尚在研究

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    javaScript中的find()方法和返回数据的内存指向
    高级函数 filter map reduce 的使用
    for ... in and for ... of 理解
    git 解决冲突问题
    H5内唤醒百度、高德APP
    HTML 5标准中最新引入的template标签介绍
    jquery选择器使用
    ajax封装函数
    常用正则表达式
    JS-----事件、image对象
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4631073.html
Copyright © 2011-2022 走看看