Javascipt:将变量变为默认值?
我有这样的代码:
<script>
document.write(ab);
</script>
ab
是一个变量,但它尚未声明,因为我希望它会被用户更改。我希望它显示的默认结果是x+y
(例如as)。但是当用户输入任何变量时,结果需要更改。例如:
<script>
var ab = "The users change code";
</script>
结果将更改为The users change code
那么,你对我的问题有任何想法吗?谢谢你的帮助。
答案 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);