• JavaScript学习——内置属性


    在js中,几乎所有的对象都是同源对象,都继承Object对象。对象的内置属性指的是它们作为Object实例所具有的属性,这些属性通常反映对象本身的基本信息和数据无关。因此我们称它们为元属性。这些属性通常都是不可枚举的,因此无法用反射机制查看它们。

    1.constructor

      实例的constructor的值总是对构造函数即对象类本身的引用。它从概念上而言就是对象实例所属的对象类,在具有继承关系的对象中,它总是指向当前类本身,因此常用它来进行准确的运行时类型识别。

    例如:

    复制代码
    function a(x,y){
    this.x=x;
    this.y=y;
    }
    function b(x,y){
    this.x=x;
    this.y=y;
    }
    alert(a.constructor==b.constructor);
    复制代码

    2.hasOwnProperty()

    这是一个对象方法,用来检查对象是否有局部定义(非继承的)具有特定名字的属性。

    复制代码
    function a(){
    this.x=1;
    };
    function b(){
    this.y=2;
    }
    //生成a b两个对象
    b.prototype=new a(); //把a对象放入b对象的属性中
    //生成一个实例对象
    var objB=new b();
    //x,y都在b对象中
    alert("x" in objB);
    alert("y" in objB);
    //但是b对象只拥有自己的属性y而没有属性的属性x
    alert(objB.hasOwnProperty("x"));
    alert(objB.hasOwnProperty("y"));
    复制代码

    3.isPrototypeOf();

    这个方法用来检查对象是否是指定对象的原型

    4.propertyIsEnuerable();

    这个方法用来检查对象是否拥有指定属性且这个属性可被for/in循环枚举。只有当前对象拥有某个属性并且该属性可被枚举时,该方法的返回值才是true。属性是否可枚举是有js内部机制决定的。一般情况下,用用户自己定义的对象属性都是可枚举的。

    5.toLocaleString()

    返回对象本地的化地字符串表示,该方法的默认实现只调用toString()但是子类可以覆盖它,提供本地话。

    = =就是说toLocaleString()是toString()的子类?

    6.toString()

     返回对象的字符串表示.Object提供的该方法的实现相当简单,并且没有提供更多的游泳的信息。Object的字类通过定义自己的toString()方法覆盖这一方法(就是复写呗)

    7.valueOf()

      返回对象的原始值(如果存在)对于类型为Object的对象,该方法只返回自身。Object的字类覆盖了该方法。返回的是与对象相关的原始值。

  • 相关阅读:
    【C++缺省函数】 空类默认产生的6个类成员函数
    iOS 关于 UIKit 专栏应该写在最前面的话
    openssl之EVP系列之8---EVP_Digest系列函数具体解释
    二进制中1的个数
    UVA 548(二叉树重建与遍历)
    Leetcode Best Time to Buy and Sell Stock III
    javascript new Date()函数在不同浏览器上返回不同的值
    【网络流】 HDU 3468 Treasure Hunting
    树莓派玩耍笔记1 -- 开箱 & 安装系统以及简单配置
    POJ 1195 Mobile phones (二维树状数组)
  • 原文地址:https://www.cnblogs.com/hushaojun/p/4901464.html
Copyright © 2020-2023  润新知