我創建了以下測試,但我不確定它爲什麼不起作用:http://jsfiddle.net/SKphY/。我應該得到三個警告對話框:「你好」,「再見」和「再見」。相反,我只是在前兩個。繼承和對象文字
var p = {
hello : function() {
alert('hello');
}
};
var obj1 = Object.create(p, {
goodbye : function() {
alert('goodbye');
}
});
var obj2 = $.extend(p, {
goodbye : function() {
alert('goodbye');
}
});
$(function() {
// The third line (below) gives the parser error:
// 'Uncaught TypeError: Property 'goodbye' of object #<Object>
// is not a function'
obj1.hello();
obj2.goodbye(); // This executes fine
obj1.goodbye(); // This gives the parser error
});
的一點是我學習如何與對象繼承工作,在這種情況下,與對象的文字,我很好奇爲什麼它是爲我工作,當我使用jQuery.extend,但不是的Object.create 。從我所知道的情況來看,我似乎遵循了https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/create概述的方法。我究竟做錯了什麼?
感謝您的時間, ktm。