1.script里的注释符,除非像95网景1.0这样几乎绝迹的浏览器需要这样的处理,在大多数主流浏览器中,完全没有必要在脚本块中添加HTML注释。
2.另一个经常被添加到js代码块中的错误预防措施。是为了防止代码在处理真正的XHTML文档(“application/XHTML XML”内容类型)时,将表单编号解析为标签,CDATA中包含的所有内容都会被当作文本处理。但实际情况是几乎所有网页的内容类型都是text/html,也就是说严格来说不是xml文档,只是文本,所以这种错误预防和处理措施完全没有必要。即使确定支持xml文档,也要根据情况合理使用CDATA。
3.onclick=”…”, onmouseover=”“等等。在HTML标签中写入事件属性是不明智的,这会降低代码的可维护性,并污染标签。如果通过JS动态添加事件属性,不仅可以灵活控制,还可以利用JS客户端缓存,使得这些事件属性不必每次都跟随着文档请求。
4.onclick=”javascript:…”,这是一个有趣的javascript混淆。伪协议和内部事件处理程序可以形成10W以上的冗余组合。事实上,事件属性内部的内容在解析后变成了主体的一个函数,然后这个函数将被用作事件处理程序,所以javascript:在这里变成了一个无用的冗余标记。 5.href=”javascript:void(0)”延续了javascript:伪协议,其中一个臭名昭著的是javascript:void(0),它被用来避免默认的锚动作。当JS无法正常解析或出现错误(禁用/不可用/错误)时,它会使锚点完全不可用。理想的解决方案是在href中填写正确的URL,然后用JS动态重写,这样即使JS不执行,锚点也不会不可用。Href="# "是一种简化且更快的替代方案。6. style=”…”,没有本质上的错误,但是以后维护起来很麻烦。此外,它可以缓存在外联的CSS文件中,以提高页面执行效率。HTML4.01中描述的
7.script标签的另一个容易被误解的属性,字符集:请注意,字符集属性是指字符的src属性指定的脚本代码,不涉及脚本元素的内容。(注意charset属性是指src属性指定的脚本的字符编码;它不关心脚本元素的内容。),也就是说他在做外联脚本的时候只指定了脚本文件的编码格式。不推荐。