【发布时间】:2011-01-01 08:42:24
【问题描述】:
以下行显然最好用点表示法编写。我正在尝试清理我的 JavaScript 代码以使其严格。这是什么意思?
if (ie||ns6)
{
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : "";
}
我在我的代码行中添加了一些上下文,以防万一这有帮助? 我对DOM 一无所知。我不想支持 Internet Explorer 4,这不是我的代码,我自己也无法编写 JavaScript。我只是想让它合规,JSLint 工具说明了这一行:
第 17 行字符 43 处的问题:['dhtmltooltip'] 最好用点表示法编写。
【问题讨论】:
-
你应该首先测试 .getElementById ,因为有些浏览器为了向后兼容而伪造 .all ; byId 是您真正需要的功能。
-
如果有人想知道,使用任何一种表示法似乎都没有任何性能优势:jsperf.com/dot-notation-vs-square-bracket-notation
-
如果您寻找使用 a.b 而不是 a['b'] 的理由,请查看我的 answer
标签: javascript syntax