Chi*_*uzo 0 javascript constructor
我是使用OOP方法论的新手javascript,我使用下面的代码作为constructor.
var post = function post() {}
Run Code Online (Sandbox Code Playgroud)
我在jQuery事件处理程序中调用构造函数
post = new post();
Run Code Online (Sandbox Code Playgroud)
在第一次运行或每次页面刷新时,它运行良好,因为method invocation在调用constructorgets执行后.但是在单击第二次触发事件的按钮时,它将不再执行,而是在以下内容中收到以下错误消息firebug
TypeError: post is not a constructor
Run Code Online (Sandbox Code Playgroud)
那么为什么在没有页面刷新的情况下第一次运行后它再次无效?
如何在没有页面刷新的情况下让它连续工作?
那么为什么它在第一次运行后不再起作用
因为你已经覆盖了这个post符号.这一行:
post = new post();
Run Code Online (Sandbox Code Playgroud)
调用post构造函数并将结果对象赋给post变量.现在post不再是构造函数了,它是通过创建的对象new post.
只需使用其他名称:
var p = new post();
Run Code Online (Sandbox Code Playgroud)
旁注:JavaScript中压倒性的约定是构造函数以一个大写字母开头,例如Post而不是post.您可以自由地忽略该约定,但可能会让其他人难以阅读您的代码(例如,此处为SO).