1

Javascipt:将变量设为默认值?

我有这样的代码:

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

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

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

结果会改变是The users change code

所以,你对我的问题有什么想法吗?感谢您的帮助。

4

3 回答 3

2

您可以通过多种方式做到这一点。三元是一个简单的。

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

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

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

于 2013-10-05T16:41:34.717 回答
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);
于 2013-10-05T16:45:05.937 回答
1
if (typeof ab == 'undefined')
    var ab = 'x+y';
document.write(ab);
于 2013-10-05T16:40:07.303 回答