JavaScript:将变量变为默认值?

时间:2013-10-05 16:38:03

标签: javascript html

Javascipt:将变量变为默认值?

我有这样的代码:

<script>
document.write(ab);
</script>

ab是一个变量,但它尚未声明,因为我希望它会被用户更改。我希望它显示的默认结果是x+y(例如as)。但是当用户输入任何变量时,结果需要更改。例如:

<script>
var ab = "The users change code";
</script>

结果将更改为The users change code

那么,你对我的问题有任何想法吗?谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

您可以通过各种方式执行此操作。三元是一个简单的。

var ab=(typeof ab==='undefined'?) x+y : ab;

这表示如果未定义ab,则将其设置为x + y,否则将其保留为当前用户设置的值。

可能有更好的方法来处理所有这些问题。如果您愿意,可以发布更多代码。

答案 1 :(得分:2)

只是为了迂腐:

你说:

ab is a variable but it's not declared yet 

shom的答案应该可以正常工作。

但是如果我是一个分析你问题的机器人:

这会传递,尽管你已经声明了它:

    var ab=undefined;
    if (typeof ab === 'undefined')
        var ab= 'x+y';
    document.write(ab);

最安全的方式(回答你:“尚未宣布”):

 if (!('ab' in window))
  var ab = 'x+y';
  document.write(ab);

答案 2 :(得分:1)

if (typeof ab == 'undefined')
    var ab = 'x+y';
document.write(ab);