我想知道有更好的方法可以做:
var name = $('input').attr("name") != "undefined" ? $('input').attr("name") : "";
我正在阅读name
的{{1}}属性。我的问题是当我为新创建的input
元素阅读name
时,它是text
。因此,为了不向用户显示undefined
,我必须进行此检查。现在我必须准备好这么多属性,然后存在同样的问题,这就是为什么我想知道,有没有更好的方式来处理这个吗?
答案 0 :(得分:5)
您不必明确地将其与undefined进行比较。当在if语句中使用时,undefined将返回false。通过使用OR操作,您可以在这种情况下分配空字符串。
var name = $('input').attr("name") || '';
同样未定义且"undefined"
在JavaScript中不相同。您的原始代码已经被误判。
答案 1 :(得分:3)
Short circuit evaluation:(我喜欢JS)
var name = $('input').attr("name") || '';