賢い 1: 関数
関数は、JavaScript コードでは稀な才能です。
♥ コードセグメントを配置し、比較的独立した関数をカプセル化できます。
♥ クラスを実装し、OOP アイデアを注入することもできます。
jQuery は関数ですが、クラスと考えることもできます (笑、それ自体がクラスです)。
(function(){
var jQuery = function() {
// 関数本体
}
window.jQuery = window.$ = jQuery;
console.log(jQuery); ;

賢い 2: 拡張プロトタイプ
プロトタイプ オブジェクトとは何ですか?
http://www.jb51.net/article/32857.htm について読むことができるブログ投稿を紹介します。
JavaScript はプロトタイプ属性をすべての関数にバインドし、この属性はプロトタイプ オブジェクトを指します。クラスの継承されたプロパティとメソッドをプロトタイプ オブジェクトで定義します。
プロトタイプ オブジェクトは、JavaScript が継承を実装するための基本メカニズムです。
var jQuery = function () {
// 関数本体
}
jQuery.fn = jQuery.prototype = {
// 拡張プロトタイプ オブジェクト
jquery: "1.8.3",
test: function() {
console.log('test');
}
}
window.jQuery = window.$ = jQuery;
>
(new jQuery()).test();
賢い 3: ファクトリ メソッドを使用してインスタンスを作成する
上記のメソッドは次のように呼び出す必要があります。メソッドを使用すると、大量のオブジェクトが生成され、メモリが無駄に消費されます。
(new jQuery()).test();
jQuery のソース コードは、呼び出しに非常にソフトなメソッド (よく知られたファクトリー メソッドでもあります) を使用します。
// 関数本体
return jQuery.fn.init();
}
jQuery.fn = jQuery.prototype = {
// 拡張プロトタイプ オブジェクト
jquery : "1.8.3",
init: function() {
return this;
},
test: function() {
console.log('test') ;
}
}
window.jQuery = window.$ = jQuery;
jQuery().test();
jquery: "1.8.3",
test: function() {
console.log('test'); 🎜>}
}
window.jQuery = window.$ = jQuery;
})();
出力結果
これが Window オブジェクトを指していることがわかりました。
コードは次のとおりです。
console.log('test');
}
}
window.jQuery = window.$ = jQuery;
}) ();
console.log(jQuery());
結果の出力
上記は再帰的な無限ループであり、メモリオーバーフローが発生していることがわかりました。
考え方 1: init() メソッドによって返される this スコープは何ですか?
コードをコピー
コードは次のとおりです:
(function(){
var jQuery = function() {
// 関数本体
return jQuery.fn.init();
}
jQuery.fn = jQuery.prototype = {
// 拡張プロトタイプ オブジェクト
jquery: "1.8.3",
init: function() {
this.init_jquery = '2.0' >return this; ;
}
}
window.jQuery = window.$ = jQuery;
console.log(jQuery().jquery); (jQuery().init_jquery);
出力結果
init() メソッドのこのスコープ: this キーワードは init() 関数を参照しますスコープが配置されているオブジェクトは、上位レベルのオブジェクトである jQuery.fn オブジェクトの関数にアクセスすることもできます。 ——このような考え方はスコープの独立性を破壊することになり、jQueryフレームワークに悪影響を及ぼす可能性があります。

考え 2: init() でこれを jQuery.fn オブジェクトから分離するにはどうすればよいでしょうか? ——init 初期化タイプをインスタンス化します。
return new jQuery.fn.init();
}
jQuery.fn = jQuery.prototype = {
// 拡張プロトタイプ オブジェクト
jquery: "1.8.3",
init: function() {
this.init_jquery = '2.0';
return this;
}
}
ウィンドウ。 jQuery = ウィンドウ .$ = jQuery;
console.log(jQuery().jquery);
出力結果
は、init() 型をインスタンス化することによって初期化され、これを init() メソッド内で制限し、init() 関数内でのみアクティブになり、外部に出力されるのを防ぎます。範囲。
Ingenious 5:

を渡すプロトタイプ 考え方 1: Ingenious 4 では、これを init() 内で jquery.fn オブジェクトから分離します。では、「Smart 4」を確保しながら jQuery プロトタイプ オブジェクトにアクセスするにはどうすればよいでしょうか? ——原型譲渡。
jQuery のプロトタイプ オブジェクトで init() コンストラクターのプロトタイプ オブジェクトをオーバーライドします。
コードをコピー
コードをコピー
jQuery. fn = jQuery.prototype = {
// 拡張プロトタイプ オブジェクト
jquery: "1.8.3",
init: function() {
this.init_jquery = '2.0'
return;これ;
}
}
jQuery.fn.init.prototype = jQuery.fn;
window.jQuery = window.$ = jQuery;
コンソール.log(jQuery() .jquery);
console.log(jQuery().init_jquery);
出力結果
init() オブジェクトのプロトタイプ ポインタを jQuery.fn にポイントします。 ——このように、init() の this は、jQuery.fn プロトタイプ オブジェクトによって定義されたメソッドとプロパティを継承します。
メッセージをくれたブロガーの皆さん、特に良い本を紹介してくれたぷにさんに感謝します。もう少し追加していただければ幸いです。

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

このチュートリアルでは、カスタムGoogle検索APIをブログまたはWebサイトに統合する方法を示し、標準のWordPressテーマ検索関数よりも洗練された検索エクスペリエンスを提供します。 驚くほど簡単です!検索をyに制限することができます

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

この記事シリーズは、2017年半ばに最新の情報と新鮮な例で書き直されました。 このJSONの例では、JSON形式を使用してファイルに単純な値を保存する方法について説明します。 キー価値ペア表記を使用して、あらゆる種類を保存できます

コードプレゼンテーションを強化する:開発者向けの10個の構文蛍光物 ウェブサイトやブログでコードスニペットを共有することは、開発者にとって一般的な慣行です。 適切な構文ハイライターを選択すると、読みやすさと視覚的な魅力を大幅に改善できます。 t

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

この記事では、JavaScriptとJQuery Model-View-Controller(MVC)フレームワークに関する10を超えるチュートリアルの厳選された選択を紹介します。これは、新年にWeb開発スキルを向上させるのに最適です。 これらのチュートリアルは、Foundatioのさまざまなトピックをカバーしています

コアポイント これは通常、メソッドを「所有」するオブジェクトを指しますが、関数がどのように呼び出されるかに依存します。 現在のオブジェクトがない場合、これはグローバルオブジェクトを指します。 Webブラウザでは、ウィンドウで表されます。 関数を呼び出すと、これはグローバルオブジェクトを維持しますが、オブジェクトコンストラクターまたはそのメソッドを呼び出すとき、これはオブジェクトのインスタンスを指します。 call()、apply()、bind()などのメソッドを使用して、このコンテキストを変更できます。これらのメソッドは、与えられたこの値とパラメーターを使用して関数を呼び出します。 JavaScriptは優れたプログラミング言語です。数年前、この文はそうでした


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール
