ホームページ  >  記事  >  ウェブフロントエンド  >  ステートメントの意味を説明する_html/css_WEB-ITnose

ステートメントの意味を説明する_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 12:11:36883ブラウズ

Array.prototype.i = Array.prototype.indexOf ||
function(value){
for (var i = this.length; i-- && this[i]!== value;) {}
return i;
};
この一節はどういう意味ですか? ?説明を求めてください。
特に
Array.prototype.indexOf ||
function(value)
これはわかりません!


ディスカッションへの返信(解決策)

Array.prototype.indexOf のindexOf は、クラス Array
に自分で実装したメソッドです。つまり、次のことを意味します。
このメソッドが実装されている場合、この Array.prototype.i =Array.prototype .indexOf
つまり、i とindexOf は一致します
このメソッドが実装されていない場合は、次の関数を使用して拡張メソッド i を Array に実装します

Array.prototype.i = Array.prototype.indexOf || function(value) {    for (var i = this.length; i-- && this[i] !== value;) {}  //这里有点问题, return i;语句应该是在这个for循环体内的    return i;};//等价于if (Array.prototype.indexOf != false) Array.prototype.i;else Array.prototype.i = function(value) {	for (var i = this.length; i-- && this[i] !== value;) {		return i; 	}}


このコードの機能は、i( )メソッドを配列型に追加し、ブラウザ自体がindexOfメソッドをサポートしているかどうかを確認し、iがこのメソッドを参照します(iはindexOfのエイリアスになります。サポートされていない場合は、i()メソッドをカスタマイズするだけです。
Array.indexOf( ) は JS バージョン 1.6 でサポートされているため、すべてのブラウザーがサポートされるというわけではありません

たとえば、

は a に値がある場合、a の値を b に代入します。 、 4 を b に代入します。
var a;
var b = a : 4; は
var a と同等です。 b = 4; }

JScript コード

Array.prototype.i = Array.prototype.indexOf ||
for (var i = this.length; i-- && this[i ] !== value;) {} //ここに問題があります。return i; ステートメントは、この for ループの本体内にあります
Return i...
++

以上です、皆さんありがとうございます

!
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。