0

私はスクリプトを持っています

<script type="text/javascript">
   a = eval("dog!='cat'");
   document.write(a);
</script>

「犬が定義されていません」と表示されますが、真/偽が必要です。私が入れたら、

    <script type="text/javascript">
       a = eval("'dog'!='cat'");
       document.write(a);
    </script>

できます。しかし、条件が動的に生成されるため、犬に引用符を付けることができません。それを行う他の方法を提案できますか。ここで cat には引用符がありますが、dog には引用符がありません。

4

2 に答える 2

1

操作をしたい場合

  • が未定義のfalse場合に返すdog
  • とそれ以外の比較の結果dog'cat'返す

書くだけ

((typeof dog != 'undefined') && (dog != 'cat'))

eval電話は絶対に必要ありません。上記の式はブール値を返すため、次のようになります

a = ((typeof dog != 'undefined') && (dog != 'cat'))
document.write(a);

また、「条件が動的に生成される」方法が正確にはわかりませんが、とにかくそれを行うとdog、変数(おそらく文字列)のような方法で実行できるため、このコードを使用できます。

于 2012-07-20T10:45:15.720 に答える
0

比較しようとしている値がページのテキスト ボックスからのものである場合は、まずそのテキスト ボックスの値を取得して保存する必要があります。

たとえば、次のようにします。

<input type="text" id="dogText" />

そして、そのテキストボックスに入力されたテキストを'cat' 最初に比較したい場合は、値を取得する必要があります。jQuery を試してみてください。

var dog = $("#dogText").val();
a = (dog !== cat);

実際に探しているものに応じて、!=またはを使用していることを確認してください。!==

それとも、あなたはこのようなことをしようとしていますか?

「条件は動的に生成される」と言いましたか? 文字列が動的に生成されるということですか? これが事実である場合、それはあなたがdogどこかから来ていることを意味します..

var str = 'dog'
var condition = "'" + str + "'!='cat'";

これにより、欠落しているように見える場所に引用符が追加されますか?

それからまた、私は再びマークから外れている可能性があります..

于 2012-07-20T10:58:43.033 に答える