Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Don';从JavaScript对象';s值_Javascript_Jquery_Html - Fatal编程技术网

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(''));
}