在学习Javascript - 现代Javascript基础入门实践指南的使用属性节点章节中,作者Tim Wright在第73页上说:
如果两种情况都没有抛出异常,那么检查它是否存在是不是多余的呢?结果是相同的。书中提到的参数检查是为了避免浏览器解析不必要的代码,但是
移除属性和获取属性一样简单。我们只需针对元素节点并使用
removeAttribute()
方法将其移除即可。如果您尝试删除不存在的属性,则不会抛出Javascript异常,但最好仍然使用我们之前提到的hasAttribute()
方法,如列表4.6.4所示。
清单4.6.4用于移除图像类值的Javascript代码
if(document.getElementById("pic").hasAttribute("class")) {
document.getElementById("pic").removeAttribute("class");
}
如果两种情况都没有抛出异常,那么检查它是否存在是不是多余的呢?结果是相同的。书中提到的参数检查是为了避免浏览器解析不必要的代码,但是
if(document.getElementById("pic").hasAttribute("class")) {}
甚至比document.getElementById("pic").removeAttribute("class");
本身还要长!那么这为什么是最佳实践呢?