我正在使用 JavaScript 并使用一些 DOM 元素构建我的页面。使用此代码,我在 Firefox 中遇到了一些奇怪的问题:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function Button()
{
var that = document.createElement("div");
return that;
}
function ContextMenu()
{
return new Button();
}
function onLoadPage()
{
var a = new Button();
var b = new ContextMenu();
a.contextMenu = b;
console.log(" ->", b);
console.log(" -->>", a.contextMenu);
}
</script>
</head>
<body onload="onLoadPage()"></body>
</html>
谷歌浏览器中的控制台日志:
-> <div></div>
-->> <div></div>
Firefox 中的控制台日志:
-> <div></div>
-->> null
如果我将“a.contextMenu”更改为“a.contextMenuu”,它会在 FF 中正常工作并按预期工作。我分配什么并不重要。似乎属性名称是保留的还是什么?那么为什么会这样呢?我可以做些什么来允许我在我的对象中使用任何属性名称吗?