Javascript对象问题

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前缀是某种全局的吗?它是某种"这个"指针吗?

任何建议,将不胜感激.

Mar*_*ahn 8

它实际上只是糟糕的代码. MeetingPage.colors = new Object();正在设置一个colorsMeetingPage 函数上调用的属性,即:

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 = {},或者应该在函数之外设置,就像在我的第一个片段中一样.