私はJavaScriptを始まりと第10章では、この演習があり読んでいます:!なぜ彼らは!= -1
ここで使うのですのindexOf()> -1対のindexOf()= -1
var myImages = [
"usa.gif",
"canada.gif",
"jamaica.gif",
"mexico.gif"
];
function changeImg(e) {
var el = e.target;
var newImgNumber = Math.round(Math.random() * 3);
while (el.src.indexOf(myImages[newImgNumber]) != -1) {
newImgNumber = Math.round(Math.random() * 3);
}
el.src = myImages[newImgNumber];
}
function updateStatus(e) {
var el = e.target;
var status = document.getElementById("status");
status.innerHTML = "The image changed to " + el.src;
if (el.src.indexOf("mexico") > -1) {
el.removeEventListener("click", changeImg);
el.removeEventListener("click", updateStatus);
}
}
var imgObj = document.getElementById("img0");
imgObj.addEventListener("click", changeImg);
imgObj.addEventListener("click", updateStatus);
:
while (el.src.indexOf(myImages[newImgNumber]) != -1) {
ここ> -1
:
if (el.src.indexOf("mexico") > -1) {
-1
の使用が混乱しているメートルe。 indexOf
操作が配列内に存在しない値を検索した場合に-1
が返されるので
-1
'Array.prototype.indexOf'とは何ですか、あなたの答えは – evolutionxbox
です。ランダム要素選択ツールは、配列の最初と最後の要素を選択することに真剣に偏っています。代わりに 'Math.floor(Math.random()* myImages.length)'を使用してください。 – James
これは本の例ですが、なぜ> -1を使用しているのか分かりません。 私は既にArray.prototype.indexOfを見ていますが、要素が選択されているかどうか> -1を使用する理由はわかりません。 – Jaycbrf4