如何判断变量是否为空

3
我有一个不起作用的函数。 我不知道当我想要找出变量是否不为空并显示/写入变量时,语法将是什么?
function contactUsMailer(e) {
try {
var recipient = "test@test.dk";
var timestamp = e.values[0];
var email = e.values[1];
var buffet = e.values[12];    
var message = 'Kantine Rekvisition'+'<br>'

    +'Afdeling:        '+e.values[2]+'<br>'
    +'Afd. nr.:        '+e.values[3]+'<br>'
    +'Til dato/kl.:    '+e.values[8]+'<br>'+'<br>'

    **if (buffet!='') {
      +'Antal Buffet: '+ buffet + '<br>'**

    var body = message;
 var advancedArgs = {htmlBody:body, replyTo:email};
 MailApp.sendEmail(recipient, "Kantine Rekvisition", body, advancedArgs);
} catch(e){
 MailApp.sendEmail(recipient, "Error - Contact Us Form", e.message);
}
}

这是否编译正确? - Prog Mania
你所说的“blank”具体指什么?是undefined,还是空字符串? - Bergi
2个回答

4
您可以简单地使用以下方式:
if (buffet) {
    // buffet is not undefined, null, false, 0 or empty string
}

你现有的条件 buffet!='' 应该也可以工作,只需记住 null!='' 也是真值。

编辑

顺便说一下,在字符串拼接中使用时,应该使用三元运算符:

var message = 'Kantine Rekvisition'+'<br>'
  +'Afdeling:        '+e.values[2]+'<br>'
  +'Afd. nr.:        '+e.values[3]+'<br>'
  +'Til dato/kl.:    '+e.values[8]+'<br>'+'<br>'
  +(buffet ? 'Antal Buffet: '+ buffet + '<br>' : '');

我的Google脚本无法正常工作。我无法从我的变量Buffet中获取值,在我的邮件中。 - user1734717
@user1734717,你没有得到值,因为它是空的?我确信你想要它有一个值,但是你应该确保;如果你不相信我,请执行console.log (buffet); :) - Ja͢ck
@user1734717 或许我在你的问题中漏掉了什么;已更新答案。 - Ja͢ck

0

您可以像这样检查变量是否为空。

if(variable.length != 0){
   // not blank
}else{
   // blank
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接