• JavaScript类属性


      对象的类属性(class attribute)是一个字符串,用以表示对象的类型信息。ECMAScript3和ECMAScript5都未提供设置这个属性的方法,并只有一个间接的方法可以查询它。默认的toString()方法(继承自Object.prototype)返回了如下格式的字符串:

      [object class]

      如:

      "[object Null]","[object Undefined]","[object String]","[object Number]","[object Array]","[object RegExp]","[object Boolean]"

      因此,要想获得对象的类,可以调用对象的toString()方法,然后提取已返回字符中的第8个到倒数第二个位置之间的字符。不过让人感觉棘手的是,很多对象继承的toString()方法重写了,为了能调用正确的toString()版本,必须间接地调用Function.call()方法。下面的classof()函数可以返回传递给它的任意对象的类:

    1 function classof(o){
    2     if(o==null) return "Null";
    3     if(o==undefined) return "Undefined";
    4     return Object.prototype.toString.call(o).slice(applicationCache,-1);
    5 }

      如:  

      classof(null)  //"Null"

      classof(1)  //"Number"

      classof("")     //"String"

      来源于《JavaScript权威指南 6.8.2》

  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/-------perfect/p/4598258.html
Copyright © 2020-2023  润新知