javascript 中自定义的类型都有 Attributes 这个属性吗?

来源:百度知道 编辑:UC知道 时间:2024/05/26 14:45:17
今天学习人家写的Popup菜单时,里面有一个Menu类,如下

function Menu()
{
this.m_Items = []; // 菜单条目集合
this.m_Popup = null; // 显示菜单的popup窗口
this.m_Invalidate = false; // 是否失效标志
this.m_Drawn = false; // 菜单是否已输出
this.m_Opener = null; // 菜单的父窗口window对象
this.m_ParentMenu = null; // 菜单的父菜单MenuItem对象
this.m_ActiveItem = null; // 被激活(highlighting)的MenuItem
this.m_ShowTimer = null; // 鼠标停留在有子菜单的条目上,子菜单显示延迟计时器
this.m_Bounds = null; // 菜单的bounds
this.m_ShowHeaderBlank = true; // 是否显示MenuItem前的空白区域
this.m_IsEventAttached = false; // 事件是否attached
this.m_Id = __MenuCache__.NewId(); // 或取菜单对象的唯一标识
__MenuCache__[this.m_Id] = this; // 把菜单放入__MenuCache__

this.toString = function()
{
return '[class Menu]';
};
}

然后又在某处中突然出现这一句 Menu.Attributes.ShowMenuEffect,请问 Attributes 是所有自定义类型具有的属性吗?如果像 prototype 一样,又为什么我给它赋值(Menu.Attributes.ShowMenuEffect = 'GradientWipeUp2Down';)又报错说

在htmldom下面 任何一个文档元素都有attributes属性,但是如果出了浏览器就没有这个东西了,报错是肯定的

你应该找一下他在哪里给这个attributes赋值了