0

JavaScript 変数 var a = "SUCCESS"; があります。そして、いくつかの検証を行っているときに、別の値 var b = SUCCESS; を取得しています。今比較したいのは

If (a == b){
alert("Allowed");
}else {
alert("Denied");
}   

上記のコードは、var b の二重 qoute 問題により機能しません。

比較する方法はあります("SUCCESS" == SUCCESS)か?変数bに二重引用符を割り当てたい。

この方法を試すと(a == "b")、b の値は補間されません。二重引用符内で var b を使用する方法はありますか?

=========

ここにさらに情報を追加しています

まずはしんぽうさん、ありがとうございました!! あなたは私の問題に非常に近いからです!! var a と var b には、実行時に割り当てられる静的な値はありません。var a like "Jan" or "Feb" or "Mar" etc.. var b like Jan or Feb or Mar ...(a == b) を比較すると false になるので、二重引用符を追加したいto value of var b like perl qq [""]...Javascript で qq[""] が利用できない場合、var b の値を文字列オブジェクトに変換できますか? 最後に、「Jan」や「Feb」などの var b の値も必要です..だから、「if (a== b)」を比較できます ありがとうございました!!!

4

2 に答える 2

0

あなたの質問からわかるように、2 つの変数があります。

var a = "SUCCESS",
    b = SUCCESS;

先ほど行ったように変数を宣言している場合は、SUCCESS文字列を変数に割り当てていますが、変数はVARIABLEbと等しくなります。SUCCESS基本的に、(a == b)真の評価を確認して期待する場合は、SUCCESS 変数を定義し、変数と同じ値を割り当てる必要があります。

var SUCCESS = "SUCCESS",
    a = "SUCCESS",
    b = SUCCESS;

a == b // now true

変数を宣言せずSUCCESSに値として別の変数に代入しようとすると、コードで SUCCESS 変数を宣言していないため、a と b を比較するときに参照エラーが発生します。

また、(a == "b")比較に関して、このように書くと(変数が"SUCCESS"文字列を保持しているという事実を考慮すると、この条件は次のように評価されます:

(a == "b") // this is basically "SUCCESS" == "b", which obviously will return false, since the strings are different

既存の変数を文字列に変換するのは簡単ですが、最初にその変数を宣言して値を割り当てたことを確認する必要があります。toString()変数の型を文字列に変更するには、変数に対して関数を使用するだけです。

var a = 25;

console.log(a); // This will print 25
console.log(typeof a); // This will print Number

a = a.toString(); // This will convert a from 25 to "25"

console.log(a) // Now, this will print "25"
console.log(typeof a); // You will see that a is a String now
于 2013-11-08T20:15:40.593 に答える
0

短い答えはノーです。あなたがここで何をしようとしているのか、本当に疑問です。a はたまたま、値が「SUCCESS」である文字列型のデータを格納する変数です

b は SUCCESS を格納しています。あなたの質問から、成功がここで何を意味するのかが明確ではありません。他の場所で定義された別の変数であれば問題ありません。その場合、var SUCCESS = "SUCCESS" の場合、a == b は true を返します。

しかし、SUCCESS がまったく定義されていない場合、比較は == undefined と同等です

于 2013-11-08T20:12:41.120 に答える