3

文字列を読み取り、その内容に基づいて URL を起動する単純な JavaScript ステートメントがありますが、IndexOf正しく使用されているかどうかわからないので、確認したかっただけです。

ここに私のコードスニペットがあります:

<script type="text/javascript"> 

var mc_u1 = "somevariable";

if (mc_u1.indexOf("1|Accept") > 0) {
document.writeln("<img src=\"https://www.someurl1.com\">");
}

if (mc_u1.indexOf("1|Refer") > 0) {
document.writeln("<img src=\"https://www.someurl2.com\">");

}

if (mc_u1.indexOf("2|Accept") > 0) {
document.writeln("<img src=\"https://www.someurl3.com\">");

}

if (mc_u1.indexOf("2|Refer") > 0) {
document.writeln("<img src=\"www.someurl4.com\">");

}

</script>

上記のコードからわかるように、私がやろうとしているのはmc_u1、URL を起動する変数の内容に基づいています (明らかな理由でそれらをマスクしただけですが、これは異なります)。

私の質問は、mc_u1変数が say で始まる場合、Javascript ステートメントまたは?1|Acceptで使用する必要があるかどうかです。> -1> 0

これが理にかなっていることを願っています!

4

4 に答える 4

4

MDNから:

string.indexOf(searchValue[, fromIndex])

Stringで検索を開始し、指定された値が最初に出現する呼び出し元オブジェクト内のインデックスを返します。値が見つからない場合はfromIndexを返します。-1

したがって、変数がで始まるかどうかを確認するには、 return かどう"1|Accept"かを確認する必要がありindexOfます0

于 2012-05-21T09:28:30.940 に答える
3

0 は最初の文字のインデックスであるため、部分文字列が文字列の先頭にある場合> 0は一致しません。したがって、> -1for は文字列のどこでも使用でき== 0、常に文字列の先頭で使用できます。

于 2012-05-21T09:26:12.300 に答える
0

== 0最初はインデックスが0になるため、使用する必要があります

于 2012-05-21T09:26:07.877 に答える
0

mc_u1.indexOf("1|Accept") > 0文字列のどこかに部分文字列のみが含まれている場合も true になります。-1部分文字列が見つからなかった場合になります。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf

于 2012-05-21T09:30:03.567 に答える