検索
ホームページウェブフロントエンドjsチュートリアルjQueryのソースコードでJavaScriptを学ぶ(3)_jquery

質問

最初の記事で、ブロガーが次のような質問をしました。理解できましたら、1 つまたは 2 つ教えてください。

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

var str = "test" ;
for(var a in str){
console.log(a ":" str[ a ])
}

出力結果
これは String オブジェクトなので、for を使用すると上記の状況が発生します。

自己呼び出し匿名関数 (function(){})(window)
コードをコピーコードは次のとおりです:

(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 = window.cQuery, cQuery = function(){ return new cQuery.fn.init(); }; cQuery .fn = cQuery.prototype = { init : function () {
return this;
}
};

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の後にパラメータリストを追加すると、目まいがしませんか?


まとめ


とりあえずここに書いておきます 何か補足があれば幸いです。 ——もっとコミュニケーションをとって、お互い学び合いましょう。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、型を使用してストリーミングしますnode.jsは、型を使用してストリーミングしますApr 30, 2025 am 08:22 AM

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

Python vs. JavaScript:パフォーマンスと効率の考慮事項Python vs. JavaScript:パフォーマンスと効率の考慮事項Apr 30, 2025 am 12:08 AM

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptの起源:その実装言語の調査JavaScriptの起源:その実装言語の調査Apr 29, 2025 am 12:51 AM

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

舞台裏:JavaScriptをパワーする言語は何ですか?舞台裏:JavaScriptをパワーする言語は何ですか?Apr 28, 2025 am 12:01 AM

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの未来:傾向と予測PythonとJavaScriptの未来:傾向と予測Apr 27, 2025 am 12:21 AM

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

Python vs. JavaScript:開発環境とツールPython vs. JavaScript:開発環境とツールApr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

JavaScriptはCで書かれていますか?証拠を調べるJavaScriptはCで書かれていますか?証拠を調べるApr 25, 2025 am 12:15 AM

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター