Don';从JavaScript对象';s值
我正在寻找最有效的方法来输出Don';从JavaScript对象';s值,javascript,jquery,html,Javascript,Jquery,Html,我正在寻找最有效的方法来输出空字符串,而不是空值的空值。是否有一种方法可以在不使用条件语句的情况下(if或三元(?:)运算符)执行此操作 代码示例如下所示: $.each(data, function(index, item) { return $("div#SearchResults").append(item.PhoneNumber); } 当item.PhoneNumber为空时,页面在SearchResults div内呈现一个字符串“null,而我希望为空试试这个 $.each(
空字符串
,而不是空值的空值
。是否有一种方法可以在不使用条件语句的情况下(if
或三元(?:
)运算符)执行此操作
代码示例如下所示:
$.each(data, function(index, item) {
return $("div#SearchResults").append(item.PhoneNumber);
}
当item.PhoneNumber为空时
,页面在SearchResults div
内呈现一个字符串“null,而我希望为空试试这个
$.each(data, function(index, item) {
return $("div#SearchResults").append(item.PhoneNumber?item.PhoneNumber:"");
}
使用$.trim
(意外地将null
和undefined
转换为空字符串):
意外,因为它既不直观又没有文档记录。如果您确实决定不使用If
或三元运算符来计算变量,则有可能使用|
运算符:
$.each(data, function(index, item) {
return $("div#SearchResults").append(item.PhoneNumber || '');
}
但是,老实说,只需使用条件运算符,这就是它们的用途,并有助于在脚本的执行和输出中强制执行一定程度的安全性。没有JQuery:
$.each(data, function(index, item) {
return $("div#SearchResults").append([item.PhoneNumber].join(''));
}
从OPs问题来看,有没有一种方法可以在没有条件陈述的情况下做到这一点(即,如果或?:)我没有否决投票,但问题特别要求避免使用三元运算符(以及如果
),尽管没有提到它的名称;所以很容易被忽略。为什么?为什么要避免在输出前对变量求值?我认为会有一种更有效的方法,即某种内置函数。我很惊讶JavaScript或jQuery中都没有这样的代码:(嗯,|
(或
)运算符执行此操作,但变量仍然是首先计算的,只是没有显式的if
或三元值。null
到字符串的转换是并且不能由用户创建的codeUpvoting更改的,因为我们几乎在同一时间得出了相同的答案,而且,因为我不理解向下的投票。最多我会选择一个==null
ternarny但不是if语句:PI同意您的求值方法;但无论如何,我仍然会显式地求值变量/返回值,而不是依赖上面的方法(尽管它可以工作,但感觉……有点错)。“并没有jQuery”,但它仍然是jQuery?
$.each(data, function(index, item) {
return $("div#SearchResults").append(item.PhoneNumber || '');
}
$.each(data, function(index, item) {
return $("div#SearchResults").append([item.PhoneNumber].join(''));
}