我创建了以下测试,但我不确定它为什么不起作用: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。