JavaScript:将变量转换为默认值?

JavaScript:将变量转换为默认值?,javascript,html,Javascript,Html,Javascipt:将变量设置为默认值 我有这样的代码: <script> document.write(ab); </script> 结果将更改为用户更改代码 那么,你对我的问题有什么想法吗。谢谢你的帮助。你可以用各种方法来完成。三元是简单的 if (typeof ab == 'undefined') var ab = 'x+y'; document.write(ab); var ab=(typeof ab==='undefined'?) x+y : ab;

Javascipt:将变量设置为默认值

我有这样的代码:

<script>
document.write(ab);
</script>
结果将更改为
用户更改代码


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

你可以用各种方法来完成。三元是简单的

if (typeof ab == 'undefined')
    var ab = 'x+y';
document.write(ab);
var ab=(typeof ab==='undefined'?) x+y : ab;
这意味着,如果ab未定义,则将其设置为x+y,否则将其保留为当前(可能是用户设置的)值


也许有更好的方法来处理这一切。如果您愿意,可以发布更多代码。

您可以通过多种方式来实现。三元是简单的

var ab=(typeof ab==='undefined'?) x+y : ab;
这意味着,如果ab未定义,则将其设置为x+y,否则将其保留为当前(可能是用户设置的)值

也许有更好的方法来处理这一切。如果您愿意,可以发布更多代码。

只是为了学究:

你说:

ab is a variable but it's not declared yet 
肖姆的回答应该行得通

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

这将通过,尽管您已声明它:

    var ab=undefined;
    if (typeof ab === 'undefined')
        var ab= 'x+y';
    document.write(ab);
最安全的方式(如回答您的“尚未声明”):

只是为了学究:

你说:

ab is a variable but it's not declared yet 
肖姆的回答应该行得通

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

这将通过,尽管您已声明它:

    var ab=undefined;
    if (typeof ab === 'undefined')
        var ab= 'x+y';
    document.write(ab);
最安全的方式(如回答您的“尚未声明”):



阅读任何基本的javascript指南,你会在几分钟内解决这个问题。你能重新表述你的问题吗?可能重复阅读任何基本的javascript指南,你会在几分钟内解决这个问题。你能重新表述你的问题吗?可能重复为什么你会使事情复杂化?另外,这些解决方案是不好的,因为范围界定问题。@Royi我同意,这就是为什么我要求更多的代码,并说整个事情可以做得更干净。在我的经验中,设置默认值时经常会看到三元样式。我喜欢它看起来像是一个直接的任务,而不是一个“如果”。你为什么要把事情复杂化?附言。这些解决方案是不好的,因为范围问题。@Royi我同意,这就是为什么我要求更多的代码,并说整个事情可以做得更干净。在我的经验中,设置默认值时经常会看到三元样式。我喜欢这看起来像是一个直接的任务,而不是一个“如果”。谢谢你的帮助。找到了解决方案:谢谢你的帮助。找到了解决方案:XI如果你想在回答中使用我的答案,也许你可以添加一条评论。。。我现在应该写另一个答案来详细说明这个答案吗?@Shomz我将从我的答案中删除你的代码。它仍然存在,但没关系。我这样说是因为最近这种情况越来越多,我不明白为什么人们会接受别人的答案。@Shomz我删除了你的代码。第二个密码是全世界(包括我)都会给出的密码。只是为了让它与众不同。我会写得更好,并添加更精确(和正确)的
==
。没有人在窃取任何人的代码。应该是
如果(!('ab'在窗口中))
。如果您想在答案中使用我的答案,也许您可以添加一条注释。。。我现在应该写另一个答案来详细说明这个答案吗?@Shomz我将从我的答案中删除你的代码。它仍然存在,但没关系。我这样说是因为最近这种情况越来越多,我不明白为什么人们会接受别人的答案。@Shomz我删除了你的代码。第二个密码是全世界(包括我)都会给出的密码。只是为了让它与众不同。我会写得更好,并添加更精确(和正确)的
==
。没有人在窃取任何人的代码。如果(!('ab'在窗口中)),则应该是