mj_*_*mj_ 3 javascript object globals
我是Javascript的初学者.我正在查看其他人写的以下代码:
function MeetingPage()
{
MeetingPage.colors = new Object();
}
...
var meeting = new MeetingPage();
Run Code Online (Sandbox Code Playgroud)
从我所看到的情况来看,我相信MeetingPage函数会创建一个后来有人在会议中保留的对象.什么是MeetingPage.colors?MeetingPage前缀是某种全局的吗?它是某种"这个"指针吗?
任何建议,将不胜感激.
它实际上只是糟糕的代码. MeetingPage.colors = new Object();正在设置一个colors在MeetingPage 函数上调用的属性,即:
function MeetingPage(){ }
MeetingPage.colors = {};
Run Code Online (Sandbox Code Playgroud)
这是完全有效的,因为JavaScript中的所有函数都是对象.问题是,如果您有多个会议页面实例:
var meeting1 = new MeetingPage();
var meeting2 = new MeetingPage();
Run Code Online (Sandbox Code Playgroud)
您发布的代码将重置colors.它应该写成this.colors = {},或者应该在函数之外设置,就像在我的第一个片段中一样.