學習JavaScript的時刻,堅持繼承。問:我 如何繼承first
功能delay
功能second
用不同的文字又名 - var text
如何添加功能到現有的繼承
var first = (function() {
var text = "test!";
return {
delay: function(time) {
setTimeout(function() {
alert(text);
}, time)
}
}
})();
first.delay(400);
second.delay(1000);
function second() {
var text = 'second';
}
我是否需要使用first.prototype.delay.call(this, time)
?我無法弄清楚。 或者我是否需要像這樣創建延遲功能:first.prototype.delay = function(time) {...} etc... ?
我該如何實現這個功能?我想我可以用不同的方法做到這一點......
你真的不能「繼承」了 - 'first.delay'關閉了一個變量,它是無法訪問到你,有什麼你可以做的,但完全覆蓋功能。 – Bergi
@Bergi好的,如果我只是離開'var first = function(){...}'然後呢? – kros
在考慮這個'text'之前,請認爲'first'是一個有屬性的對象,而'second'是一個函數。不要混合它們。你想要什麼? – Bergi