我一直在尝试javascript中的一些基础知识,这里是我观察到的。在Javascript中使用函数分配进行原型设计
我写函数对象的原型修改方法
Function.prototype.method = function(name, func)
{
this.prototype[name] = func;
return this;
}
function pirates(value)
{
console.log("I just throw away the value!!" + value);
}
pirates.method("my_skill", function(){
console.log("Pirate skills");
});
new_pirate = new pirates(1234);
//SUCCESS
new_pirate.my_skill(); //prints "Pirate skills"
var someCrappyVariable = function(){
return function()
{
console.log("I am going to just sit and do nothing. Really!");
}
}();
**//Throws error. WHY???????? This was assigned a function, so ideally prototype should work on this too? Shouldn't it?**
someCrappyVariable.method("crappyFunction", function(){
console.log("am I doomed?");
});
为什么最后分配引发一个错误someCrappyVariable不是一个函数,当它被赋予的功能较早参考?我很困惑。
干杯
尝试执行'crappyFunction'方法时出现错误 – 2009-12-28 21:04:09