質問
最初の記事で、ブロガーが次のような質問をしました。理解できましたら、1 つまたは 2 つ教えてください。
var str = "test" ;
for(var a in str){
console.log(a ":" str[ a ])
}
出力結果
これは String オブジェクトなので、for を使用すると上記の状況が発生します。
(function(window, unknown){
// jquery code
})(window);
コード分析:
最初の括弧: 匿名関数を作成します。
2 番目の括弧: すぐに実行します。
ウィンドウ変数を渡す理由:
ウィンドウ変数をグローバル変数からローカル変数に変更します。アクセスを高速化するためにスコープ チェーンを最上位スコープに戻す必要はありません。窓へ。
パラメータ リストに未定義を追加する理由:
自己呼び出し匿名関数のスコープ内で、未定義が本当に未定義であることを確認します。
この設計の利点:
プライベート名前空間を作成します。関数本体内の変数とメソッドはグローバル空間に影響を与えません。他のプログラムの変数と競合しません。
関数拡張 extend()
一般的な設計習慣に従って、ドット (.) 構文を通じて直接実装するか、プロトタイプ オブジェクトに属性を追加することによって実装できます。構造。 。 ——jQuery フレームワークは、extend() 関数による関数拡張を実装します。
同様の方法を実行してみましょう。 ——指定されたパラメータ オブジェクトに含まれるすべてのプロパティを cQuery または cQuery.prototype オブジェクトにコピーします。
(function(){
var
_cQuery = window.cQuery,
cQuery = function(){
return new cQuery.fn.init();
cQuery.fn = cQuery.prototype = {
init : function () {
これを返します;
}
};
cQuery.fn.init.prototype = cQuery.fn; cQuery.fn .extend = function( obj ) {
for (var prop in obj) {
this[ prop ] = obj[ prop ];
return this; 🎜>
cQuery.fn.extend({
test : function() {
console.log('Test!');
}
}); = window.cQuery = cQuery;
})();
C().test(); の利点:
ユーザーが迅速に拡張できるように jQuery フレームワークの機能は、jQuery フレームワークのプロトタイプ構造を破壊しません。
2. 便利な管理。
注:
プロトタイプによって拡張されたオブジェクトの場合、インスタンス化関数 (cQuery().test() など) を通じて呼び出す必要がありますが、cQuery.test() は使用できません。
オブジェクト URL パラメータ化された param()
コードをコピー
コードは次のとおりです:
(function (){ var
};
cQuery.param = function(obj); 🎜> var prefix, s = [];
for ( prefix in obj ) {
s[ s.length ] = encodeURIComponent( prefix ) "=" encodeURIComponent( obj[ prefix ]); 🎜> return s.join( "&" );
}
cQuery.fn.init.prototype = cQuery.fn;
window.C = window.cQuery = cQuery;
})();
var param({"名前":"川山家", "年齢":30}); >
結果の出力
オブジェクト URL のパラメータ化: 構造化とメンテナンスの容易化に役立ちます。 URLの後にパラメータリストを追加すると、目まいがしませんか?
まとめ
とりあえずここに書いておきます 何か補足があれば幸いです。 ——もっとコミュニケーションをとって、お互い学び合いましょう。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...

JavaScriptプログラミング、プロトタイプチェーンの関数パラメーターの理解と操作のJavaScriptのプロトタイプチェーンの関数のパラメーターを取得する方法は、一般的で重要なタスクです...

WeChatアプレットWeb-ViewでVue.jsを使用する動的スタイルの変位障害がvue.jsを使用している理由の分析...

複数のリンクの同時ゲットリクエストを作成し、結果を返すために順番に判断する方法は? TamperMonkeyスクリプトでは、複数のチェーンを使用する必要があることがよくあります...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

メモ帳++7.3.1
使いやすく無料のコードエディター

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

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

SublimeText3 中国語版
中国語版、とても使いやすい

ホットトピック



