在yui库的示例代码中,我看到了这种表示法:
var obj = document.getElementById("coffee_msg");
obj.style.display = 'block';
由于obj只使用过一次,我宁愿选择这个:
document.getElementById("coffee_msg").style.display = 'block';
有没有理由在yui库和许多其他地方使用第一种符号? 是否与某些浏览器不兼容?
答案 0 :(得分:1)
没有“真正的”理由,只是为了让代码更具可读性。
就像:
var myAge = 26;
var myAgeNextYear = myAge + 1;
VS
var myAgeNextYear = 26 + 1;
我的个人偏好仅在我多次使用时才会保留对obj的引用。
答案 1 :(得分:1)
如果你只需要设置一个属性就完全无关紧要(只要你不想在尝试访问它的属性之前检查返回值是否有效)。
但是,如果你有多个属性,你只想进行一次查找(即使id查找速度非常快),所以在这种情况下将元素赋值给变量就是这样。
当然你可以用jQuery来缩短它:$('#coffee_msg').show()
还有一个好处是,如果元素由于某种原因不存在,则不会出现错误。如果你想设置多个CSS属性等,你可以简单地使用一个函数,通过一次调用或多次调用不同的jQuery方法为你做这件事。
答案 2 :(得分:1)
两种不同的方式完全相同。使用临时obj
变量可能有助于提高代码的可读性(但在这种情况下,应该给出比obj
更好的名称)。
答案 3 :(得分:0)
第一个选项很有用,因为它提高了可读性,它还使obj变量可以立即用于其他用途。我会亲自使用这个例子。