动态更新变量JS

Update Variable Dynamically JS

本文关键字:JS 变量 更新 动态      更新时间:2023-09-26

我想使用带空格的其他字段的值来更新一个字段的值。如果值为null,则不应添加空格。我应该使用什么逻辑,因为我不能在值集中使用IF。

示例

document.getElementById("target").value= Constant+if(name){" "+this.value}+if(age){" "+this.value}+if(height){" "+this.value};

将字符串格式代码放入可以使用if语句的函数中。

document.getElementById("target").value = formatValue();
function formatValue(){
    var formattedString = Constant;
    if(name){
        formattedString += " " + name;
    }
    if(age){
        formattedString += " " + age:
    }
    if(height){
        formattedString += " " + height:
    }
    return formattedString;
}

如果您不希望使用命名函数,请使用自调用匿名函数:

document.getElementById("target").value = (function(){
    var formattedString = Constant;
    if(name){
        formattedString += " " + name;
    }
    if(age){
        formattedString += " " + age:
    }
    if(height){
        formattedString += " " + height:
    }
    return formattedString;
})();

您要查找的是一个三元运算符。一个布尔条件,后跟?,并返回true值,在:之后返回false值。

console.log((name ? name : '') + (age ? age : ''));

不过,就你所做的而言,我不会用这种方式连接一堆燕鸥。制作一个数组,然后加入。

var parts = [];
if (name) {
  parts.push(name);
}
if (age) {
  parts.push(age);
}
// etc. etc.
console.log(parts.join(' '));

如果您可以使用Array.filter(较新的浏览器),则可以简化您的数组,而不需要所有的if语句:http://www.devign.me/javascript-tip-remove-falsy-items-out-of-an-array