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 

ショムの答えはうまくいくはずです。

しかし、私があなたの質問を分析するロボットだったとしたら:

あなたはそれ宣言しましたが、これは合格します:

    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 に答える