-1
我最近一直在用JS來擺脫我的舒適區,並遇到了共享通用功能的情況。我想出的是以下(觀止)代碼:JS「繼承」(代碼共享)機制
function subclass(parent, child) {
child.prototype = Object.create(parent.prototype)
}
function URL(str) {
this.value = str;
}
function HttpURL(str) {
this.value = str
}
subclass(URL, HttpURL)
URL.path = function() {
return this.value;
}
// ...
HttpURL.isSecure = function() {
this.value.substring(0, 8) === 'https://';
}
此代碼的工作,因爲我期望它的工作(做對URL的「方法」上HttpURL可用,但不是反之亦然),但我想知道這是否「道德」,或者是否有更好的方法來允許這樣做。
有什麼問題嗎?兩個對象共享相同的代碼是否合乎道德? ) – raina77ow
這正是如何在Javascript中輕鬆管理繼承方案的方式。獎勵!如果您在不支持'Object.create'的較舊環境中工作,那麼您需要做更多工作,但這是正確的想法。 –