美文网首页
JavaScript中的原型继承

JavaScript中的原型继承

作者: 橘子柚子橙子_ | 来源:发表于2018-07-21 00:12 被阅读0次

JavaScript遵守下面这些编程的基本规则:

  1. 所有的数据都是对象
  2. 要得到一个对象,不是通过实例化类,而是找到一个对象作为原型并克隆它
  3. 对象会记住它的原型
  4. 如果对象无法响应某个请求,它会把这个请求委托为它自己的原型

1. 所有的数据都是对象

js在设计的时候,仿照着Java引入了两套类型机制:基本类型和对象类型。
基本类型包括:undefined/number/string/boolean/function/object。设计者的本意是,除了undefined之外,别的都是对象。为了实现这一目标,number/boolean/string这几种基本类型数据也可以通过包装类的方式来变成对象类型。
JavaScript中的根对象是Object.prototype对象。它是一个空的对象。js中的每个对象,实际上都是从Object.prototype对象可空出来的。

2. 要得到一个对象,不是通过实例化,而是找到一个对象作为原型并克隆它

在js中,我们并不需要关心克隆的细节,我们所需要做的只是显示地调用var obj1 = new Object()或者var obj2 = {}。此时,引擎内部就会从Object.prototype上面克隆一个对象出来。
下面的代码展示了用new运算符从构造器中得到一个对象:

function Person( name ) {
    this.name = name
}

Person.prototype.getName = function() {
    return this.name
}

var a = new Person( 'sven' )

console.log(a.name) // sven
console.log(a.getName()) // sven
console.log(Object.getPrototypeOf(a) === Person.prototype) // true

--continue--

相关文章

网友评论

      本文标题:JavaScript中的原型继承

      本文链接:https://www.haomeiwen.com/subject/isycmftx.html