zoukankan      html  css  js  c++  java
  • javascript 对象 构造函数 原型 constructor 属性

     
    8-1 展示了 Person 构造函数、Person 的原型对象和 Person 现有两个实例之间的关系。注意,
    Person.prototype 指向原型对象,而 Person.prototype.contructor 指回 Person 构造函数。原
    型对象包含 constructor 属性和其他后来添加的属性。Person 的两个实例 person1 和 person2 都只
    有一个内部属性指回 Person.prototype,而且两者都与构造函数没有直接联系。另外要注意,虽然这两
    个实例都没有属性和方法,但 person1.sayName()可以正常调用。这是由于对象属性查找机制的原因。
    虽然不是所有实现都对外暴露了[[Prototype]],但可以使用 isPrototypeOf()方法确定两个对
    象之间的这种关系。本质上,isPrototypeOf()会在传入参数的[[Prototype]]指向调用它的对象时
    返回 true,如下所示:
    console.log(Person.prototype.isPrototypeOf(person1)); // true
    console.log(Person.prototype.isPrototypeOf(person2)); // true 
    这里通过原型对象调用 isPrototypeOf()方法检查了 person1 和 person2。因为这两个例子内
    部都有链接指向 Person.prototype,所以结果都返回 true。
    ECMAScript 的 Object 类型有一个方法叫 Object.getPrototypeOf(),返回参数的内部特性
    [[Prototype]]的值。例如:
    console.log(Object.getPrototypeOf(person1) == Person.prototype); // true
    console.log(Object.getPrototypeOf(person1).name); // "Nicholas"
    第一行代码简单确认了 Object.getPrototypeOf()返回的对象就是传入对象的原型对象。第二
    行代码则取得了原型对象上 name 属性的值,即"Nicholas"。使用 Object.getPrototypeOf()可以
    方便地取得一个对象的原型,而这在通过原型实现继承时显得尤为重要(本章后面会介绍)。
     
  • 相关阅读:
    [转]nginx+fastcgi+c/c++搭建高性能Web框架
    [转]向facebook学习,通过协程实现mysql查询的异步化
    [转]ReactPHP── PHP版的Node.js
    [转]nodejs npm常用命令
    [LINK]php的三种CLI常量:STDIN,STDOUT,STDERR
    苹果iPhone如何区分港版、国行、水货
    16进制字符串转36进制字符串
    设置apache https服务
    [转]Class 'ThinkLog' not found
    PHP PSR规范
  • 原文地址:https://www.cnblogs.com/zy09/p/14680909.html
Copyright © 2011-2022 走看看