2

我想知道有没有更好的方法:

var name = $('input').attr("name") != "undefined" ? $('input').attr("name") : "";

在这里,我正在name阅读input. 我的问题是当我阅读name新创建的text元素时,它是undefined. 因此,为了不undefined向用户显示,我必须进行此检查。现在我必须准备这么多属性,并且始终存在相同的问题,所以这就是为什么我想知道,有没有更好的方法来处理会这?

4

2 回答 2

5

您不必明确地将其与未定义进行比较。在 if 语句中使用时,undefined 将返回 false。通过使用 OR 操作,您可以在这种情况下分配空字符串。

var name = $('input').attr("name") || '';

在 JavaScript 中也未定义"undefined"且不相等。您的原始代码已经得到了误报。

于 2012-06-20T10:28:02.690 回答
3

短路评估:(我喜欢 JS 中的这个)

var name = $('input').attr("name") || '';
于 2012-06-20T10:28:41.927 回答