實現繼承function Animal(name){ this.name = name; this.showName = function(){ alert(this.name); } } function Cat(name){ Animal.call(this, name); } var cat = new Cat("Black Cat"); cat.showName(); Animal.call(this) 的意思就是使用 Animal對象代替this對象,那么 Cat中不就有Animal的所有屬性和方法了嗎,Cat對象就能夠直接調用Animal的方法以及屬性了.對于其中一句話不是很理解:“ Animal.call(this) 的意思就是使用 Animal對象代替this對象”。我在犀牛書中看到,call()和apply()的第一個參數是要調用函數的母對象,它是調用上下文,函數體內通過this來獲得它的引用。在上面代碼總,Animal是要調用的函數,而它沒有被封裝作為某個對象的屬性,那么Animal的母對象不就是global對象嗎?為何代碼中的解釋卻是this指向Animal對象呢?
關于call()方法中的this
12345678_0001
2018-08-10 10:05:47