somefunction = function() {
somefunction.method = function() {
//stuff
}
//other stuff
}
是somefunction
执行每次somefunction.method
是什么?
somefunction = function() {
somefunction.method = function() {
//stuff
}
//other stuff
}
是somefunction
执行每次somefunction.method
是什么?
没有,当你有任何这些行的执行somefunction:
somefunction()
somefunction.call()
somefunction.apply()
new somefunction;
somefunction.method()
将只执行somefunction.method
,但将有机会获得变量的somefunction
范围(以及它自己的局部变量和当然所有的全局变量)。
不,但是每次调用某个函数时都会创建一个新的闭包。如果某个函数依赖于其范围之外的任何变量,那么somefunction.method可能会根据何时调用某个函数而发生变化,从而创建竞争条件(从未调试过)。
这可能不是解决问题的正确方法。
考虑
somefunction = function() {
// constructor
}
somefunction.prototype.method = function() {
//stuff
}
你的意思是'somefunction.prototype.method =功能(){}':) –
whups ...很正确,编辑...我不应该喝酒和编码:) –
废话,酒释放心灵;-) –
哦..封http://stackoverflow.com/a/111200/1331430 –