JavaScriptにおけるプログラミングの共通知識_基礎知識

WBOY
リリース: 2016-05-16 17:37:55
オリジナル
990 人が閲覧しました

1.null および未定義

* オブジェクトからプロパティを取得します。オブジェクトにもそのプロトタイプ チェーン内のオブジェクトにもプロパティがない場合、プロパティの値は未定義になります。
* 関数が return を通じて呼び出し元に明示的に値を返さない場合、その戻り値は未定義です。新品使用の場合は専用のケースがございます。
* JavaScript の関数は、任意の数の仮パラメータを宣言できます。関数が実際に呼び出されるときに、渡されたパラメータの数が宣言された仮パラメータよりも少ない場合、追加の仮パラメータの値は未定義になります。
* null は空のオブジェクトです。空のオブジェクト ({}) との違いに注意してください。
簡単に言うと、すべての変数は、宣言後に初期値が指定されていない限り、null 参照の概念を Object 型で表現する場合、null で表現されます。 。

2.if 式

* Null は常に false (false)
* 未定義は常に false (false)
* 数値 0、-0 または NaN は false、その他の値は true
* 文字列 文字列の場合は空、false、その他の値は true
* オブジェクトは常に true (true)

3.配列

JavaScript の配列は、Java や C/C などの一般的なプログラミング言語の配列とは大きく異なります。 JavaScript のオブジェクトは順序のない連想配列であり、配列は JavaScript のオブジェクトのこの特性を利用して実装されます。 JavaScript では、配列は実際にはオブジェクトですが、そのプロパティ名は整数であり、配列を便利に操作するための追加のプロパティ (長さなど) やメソッド (スプライスなど) が多数あります。

4.新しい演算子

JavaScript には Java のクラスの概念がありませんが、コンストラクターを使用してオブジェクトを作成します。新しいオブジェクトは、新しい式のコンストラクターを使用して作成できます。コンストラクターによって作成されたオブジェクトには、コンストラクターのプロトタイプへの暗黙的な参照があります。


5.プロトタイプ

プロトタイプは、JavaScript プロトタイプ継承の中心的な概念です。特定の JavaScript クラス ライブラリで Array.prototype.push.call() が使用されているのを見たことがあるはずです。したがって、最終的には、プロトタイプはオブジェクトです。プロトタイプを通じていくつかの便利なメソッドをネイティブ クラスに追加できます。また、プロトタイプを通じて継承を実装することもできます。プロトタイプにさらに興味がある場合は、ff の __proto__ を通じて指定されたオブジェクトのプロトタイプ チェーンにアクセスできます。

6.スコープチェーン

実行コンテキストは、JavaScript コードの実行を記述するために ECMAScript 仕様で使用される抽象的な概念です。すべての JavaScript コードは実行コンテキスト内で実行されます。現在の実行コンテキストで関数が呼び出されると、新しい実行コンテキストが開始されます。関数呼び出しが終了すると、元の実行コンテキストに戻ります。関数呼び出し中に例外がスローされ、キャッチされなかった場合、その例外は複数の実行コンテキストから終了する可能性があります。関数呼び出しプロセス中に、新しい実行コンテキストに入るために他の関数も呼び出される場合があります。これにより、実行コンテキスト スタックが形成されます。

注: スコープ チェーンに興味がある場合は、ff の __parent__ 属性を通じて関数のスコープ チェーンにアクセスできます。残念ながら、ff の JS エンジン SpiderMonkey はこの属性を完全にはサポートしていないため、内部関数が表示されます。エラーが発生するため、Rhino (http://developer.mozilla.org/en/docs/Rhino) の使用を推奨します。

注: ここで言及する必要があるのは、スコープ チェーンに対する関数式と関数宣言の影響です。

7.閉店

クロージャは、js の一般的に使用される機能でもあります。通常、Java で関数を実行すると、すべての内部変数がリサイクルされますが、JavaScript では、特定のメソッドを使用して、実行された関数をそのまま残すことができます。アクセス可能であるため、クロージャが形成されます。

もちろん、クロージャには 2 つの側面がありますが、注意しないとメモリ リークなどの多くの問題を引き起こす可能性もあるため、これらのテクノロジを合理的に適用する必要があります。クロージャを詳しく学びたい場合は、いくつかの JS ライブラリ (プロトタイプ、jquery、mootools) をチェックすることをお勧めします。これらには、バインド メソッドなどの非常に古典的なクロージャ アプリケーションが含まれていますが、詳細は説明しません。ここ。

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