Javascript 脚本中无法比较两个字符串

Javascript 脚本中无法比较两个字符串,javascript,jquery,Javascript,Jquery,实际上,在我的函数中,我必须比较两个字符串,一个是通过数据库获取的字符串,另一个是null字符串,但它不起作用。。 这是我的密码: order.items.forEach(function(entry) { result += '<tr>' + '<td>'+'<font size=2>'+ a++ + '</fon

实际上,在我的函数中,我必须比较两个字符串,一个是通过数据库获取的字符串,另一个是
null
字符串,但它不起作用。。 这是我的密码:

   order.items.forEach(function(entry) {
                            result += '<tr>' 
                                      + '<td>'+'<font size=2>'+ a++ + '</font>'+ '</td>'
                                      + '<td>' +'<font size=2>'+ entry.title + '</font>'+ '</td>'
                                      + '<td>' +'<font size=2>'+ entry.quantity + '</font>'+'</td>'        
                                    if(entry.personalization == 'null')     //here is the problem                                                       
                                      + '<td>' +'<font size=2>'+ 'No Personalization' + '</font>'+'</td>'
                                    else
                                      + '<td>' +'<font size=2>'+ entry.personalization + '</font>'+'</td>'                                          


                                    + '</tr>';
                        })

                     result +='</table>';

$('.modal-body').html(result);
order.items.forEach(函数(条目){
结果+=“”
+''++'+a++'+'+'''
+''+''+条目.标题+''+'''
+''+''+条目.数量+''+''''
if(entry.personalization=='null')//问题出在这里
+''++''无个性化'++''''''
其他的
+''+''+条目.个性化设置+''+''
+ '';
})
结果+='';
$('.modal body').html(结果);

您不需要在
''
周围包装
null

只需使用:-

if(entry.personalization == null)

您不需要将
null
环绕
'

只需使用:-

if(entry.personalization == null)

要在jquery中检查空字符串或空字符串,请执行以下操作:

if (!entry.personalization) {
    // is empty
}

要在jquery中检查空字符串或空字符串,请执行以下操作:

if (!entry.personalization) {
    // is empty
}

正如您在问题中提到的,如果您提取的一个字符串和另一个字符串是“null”,那么这是一个很明显的字符串比较问题,不检查null

Javascript有localeCompare()方法来比较字符串

你应该使用

entry.personalization.localeCompare("null");
还是它的反面

var n = "null";
n.localeCompare(entry.personalization);

此函数返回布尔值。

如您的问题中所述,如果您提取的一个字符串和另一个字符串是“null”,则这是一个字符串比较和不检查null的明确问题

Javascript有localeCompare()方法来比较字符串

你应该使用

entry.personalization.localeCompare("null");
还是它的反面

var n = "null";
n.localeCompare(entry.personalization);
此函数返回布尔值。

使用
console.log(entry.personalization)
检查值

达拉的答案应该有用

我也使用它进行空检查

(!entry.personalization)  
或尝试

(entry.personalization != "")
使用
console.log(entry.personalization)
检查值

达拉的答案应该有用

我还使用它进行空检查

(!entry.personalization)  
或尝试

(entry.personalization != "")

null
not
'null'
比较它,就像(!(entry.personalization))@Ripun如果
entry.personalization
设置为零怎么办?你的小费还有效吗?@spender他在检查时假设条目为空值。如果设置为0,那么检查空值就没有意义了,不是吗?你能告诉我们条目类型的
值是多少吗?
null
不是
'null'
像(!(entry.personalization))那样比较一下吗@Ripun如果
条目。个性化设置设置为零,该怎么办?你的小费还有效吗?@spender他在检查时假设entry.personalization为空值,所以如果设置为0,那么检查null就没有意义了,不是吗?你能告诉我们
typeof entry.personalization
的值是多少吗?@KartikeyaKhosla$.trim()用于删除字符串开头和结尾的空格。@KartikeyaKhosla$.trim()用于删除字符串开头和结尾的空格。它返回什么console.log(entry.personalization)实际上我不知道如何使用console.log(),所以我会尽快更新结果没有问题。。。让我告诉你。。。。log()是一个函数,它将记录控制台内的值。。。如果您想查看它,请在打开浏览器的情况下按键盘上的F-12,然后转到其控制台选项卡。。。您将在其中看到console.log()的值…这意味着您的entry.personalization将保持null。。不是“null”让我们看看。它返回什么console.log(entry.personalization)实际上我不知道如何使用console.log(),所以我会尽快更新结果没有问题。。。让我告诉你。。。。log()是一个函数,它将记录控制台内的值。。。如果您想查看它,请在打开浏览器的情况下按键盘上的F-12,然后转到其控制台选项卡。。。您将在其中看到console.log()的值…这意味着您的entry.personalization将保持null。。而不是“空”让我们。