使用条件变量和非条件变量创建javascript字符串

时间:2015-10-28 17:35:44

标签: javascript html node.js

我使用一些已定义的变量创建单个字符串,如下所示:

var name = 'John';
var business = 'Google';
var email = name + ' registered the business ' + business;

实际上,这是来自表单提交,因此变量将以表单形式设置并发送到我的NodeJS后端以创建此字符串。用户可能会也可能不会输入消息。我创建了一个if语句,如果它们有以下内容,则将其添加到字符串中:

if (message) email += '<br /><br />Message: ' + message;

问题是当我扩展这个逻辑时,它会变得非常混乱。例如,如果我想将几个条件变量添加到原始字符串中间的各个点。有没有办法在初始字符串构建中执行条件逻辑?

2 个答案:

答案 0 :(得分:3)

使用三元运算符。它仍然可能变得混乱,但它会减少&#34;如果&#34;无处不在。

var email = name + ' registered ' + business
            + (message ? '<br /><br />Message: ' : '')  // conditional line
            + more_stuff...;

答案 1 :(得分:0)

您可以通过多种方式构建代码来清理内容。一个简单的解决方案是创建一个跟踪各种输入的对象,然后循环遍历该对象以附加所有必需的项。

例如:

var obj = {
  message: messageField,
  messageTwo: messageTwoField
}

for (keys in obj){
  if (key == message && obj.key) {
    //append the string to a specific place
  }
}

有很多方法可以解决这个问题,但是将所有内容存储在一个可以帮助清理的对象中。此外,if语句基于键名称是有条件的,并且是否为该键名指定了值。这当然只是我对如何处理这个问题的看法,应用程序的大小和复杂性可能会大大改变这个答案。