2
我在閱讀YUI2.8.1源代碼yahoo/yahoo.js。爲什麼YUI.lang.extend以這種方式實現Inheritance?
的YAHOO.lang.extend方法來實現這樣http://github.com/yui/yui2/blob/master/build/yahoo/yahoo.js
我不明白爲什麼它會創建另一個F函數。恕我直言,下面的代碼也應該工作(忽略覆蓋部分)
function extend (subc, superc) {
if (!superc||!subc) {
throw new Error("extend failed, please check that " +
"all dependencies are included.");
}
subc.prototype=new superc();
subc.prototype.constructor=subc;
subc.superclass=superc.prototype;
}
一定有原因,YUI實現是這樣,但我不能弄明白。任何人都可以對此有所瞭解?
感謝