ska*_*ama 36 javascript syntax
以下行显然用点表示法写得最好.我正在尝试清理我的JavaScript代码以使其严格.这是什么意思?
if (ie||ns6)
{
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : "";
}
Run Code Online (Sandbox Code Playgroud)
我在我的代码行中添加了一些上下文,以防这有用吗?我对DOM一无所知.我不是要支持Internet Explorer 4,这不是我的代码,我自己也无法编写JavaScript.我只是试图让它符合规范,JSLint工具说明了这一行:
第17行字符43的问题:['dhtmltooltip']最好用点表示法编写.
Que*_*tin 93
点符号
foo.bar.baz
Run Code Online (Sandbox Code Playgroud)
方括号表示法
foo['bar']['baz']
Run Code Online (Sandbox Code Playgroud)
您在代码的一部分中使用后者.
编写JSLint(一种提供该错误消息的工具)的Douglas Crockford认为,尽可能使用点表示法更好.
CMS*_*CMS 16
JSLint想要这个:
var tipobj= document.all ? document.all.dhtmltooltip
: document.getElementById
? document.getElementById("dhtmltooltip")
: "";
Run Code Online (Sandbox Code Playgroud)
但现在假设document.getElementById存在是完全安全的,它是在2000 年之前在DOM Level Core 2上引入的.
document.all 已经死了,除非你试图支持像IE4这样的老浏览器(12岁!):
var tipobj = document.getElementById("dhtmltooltip");
Run Code Online (Sandbox Code Playgroud)
以上两个片段是支持非常旧的浏览器版本的复杂性成本的一个很好的例子:
alt text http://ejohn.org/images/cost-benefit.png