鍍金池/ 問答/Python  C  HTML/ JavaScript里的“繼承”到底是個什么概念?

JavaScript里的“繼承”到底是個什么概念?

我們都知道,在JavaScript里,繼承是基于原型的。但是下面的兩個例子里,都出現(xiàn)了繼承的概念:

var a = {m: 1}
var b = {}
b.__proto__ = a
b.m === 1 // true

在這里,我們可以說b繼承了am屬性,或者說b繼承自a

var Foo = function(x) {
    this.x = x
}
Foo.prototype.funA = function() {
    console.log(this.x)
}
var Boo = function(x) {
    Foo.call(this, x)
}

Boo.prototype = Object.create(Foo.prototype)
Boo.prototype.constructor = Boo

var foo = new Foo(1)
var boo = new Boo(2)

foo.funA() // 1
boo.funA() // 2

這里,我們可以說Boo繼承自Foo

那么,在JavaScript里,到底什么叫繼承?我有點轉(zhuǎn)迷糊了。

回答
編輯回答
放開她

自習(xí)琢磨琢磨這個.
不要想得太麻煩. 繼承就是調(diào)用一個方法和屬性,自己在沒有,就會去原型鏈上去找.就這么簡單.

clipboard.png

2018年9月3日 13:12