プロトタイプ学習ツール function learning($method)_prototype

WBOY
リリース: 2016-05-16 18:50:07
オリジナル
1061 人が閲覧しました

$
$$
$A
$F
$H
$R
$w
これらの
document.getElementsByClassName
$ メソッドを試してください—スイス アーミー ナイフとして知られています。
文字列が指定された場合は、一致する ID を持つドキュメント内の要素を返します。それ以外の場合は、関数によって返されるすべての要素がプロトタイプ DOM で拡張されます。

コードをコピーします コードは次のとおりです。

function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = argument.length; i < length;
i )
elements.push( $(arguments[i]));
要素を返す;
}
if (Object.isString(element))
element = document.getElementById(element); (要素);
}

まず、渡されたパラメータの長さを確認します:

長さが 1 に等しい場合は、渡されたパラメータが文字列であるかどうかを判断します。 String の場合は、getElementById メソッドを呼び出して対応するオブジェクトを取得し、最後に返されたオブジェクトに Element のすべてのメソッドを継承させ、返されたオブジェクトが Element オブジェクトで定義されているさまざまなメソッドを直接呼び出せるようにします。たとえば、

コードをコピーします コードは次のとおりです:
// かなり OOP であることに注意してください。 like...
Element.hide('itemId');
// 保証された拡張機能のおかげで、よりクリーンな印象


長さが 1 より大きい場合は、$ メソッド (elements.push($(arguments[i]));) を再帰的に呼び出します。これは、渡されるパラメータが多次元配列である可能性があることを意味します:
$ (['A','B',['C ','D',['E','F']]]) もちろん、返されたオブジェクト配列も返されます。
長さが 0 に等しい場合は、未定義が返されます。つまり、alert($()) が直接呼び出されます。
Object.isString メソッドを詳しく見てみましょう:


function isString(object) {
return getClass(object) === " String";
}

//=====> getClass()

function getClass(object) {
return Object.prototype.toString.call(object) )
.match(/^[objects(. *)]$/)[1];
}


主に、内部メソッド getClass を通じて返されるオブジェクトのタイプを決定します。 Object オブジェクト。 getClass で Object の toString メソッドが呼び出され、正規表現を使用して特定のオブジェクトを表す文字列を抽出します。

Object.prototype.toString.call("2222") Return "[object] String]" Get "String"

Object.prototype.toString.call(2222) Returns "[object Number]" Get "Number"



Object.prototype. toString.call(/^$/) Returns "[object RegExp] " Get "RegExp"

なぜここで Object の toString メソッドを使用する必要があるのでしょうか。なぜなら、"2222".toString() を直接呼び出すと、"2222" になるからです。 "が返されます。つまり、Objectから継承したオブジェクトが再利用されます。toStirngメソッドが書かれているので、ここでObjectのtoStringを呼び出す必要があります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!