JavaScript では、関数 (Function) は、繰り返し使用 (呼び出し) できるカプセル化されたコードであり、値、オブジェクト、データ型、式のいずれかになります。関数は、値の割り当て、操作の実行、プロパティとメソッドを持つことができ、値を一時的に保存したり、インスタンスを構築したりすることもできます。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript では、オブジェクトは一般的な概念であり、あらゆる値をオブジェクトに変換し、数値オブジェクト、ブール オブジェクト、文字列オブジェクト、型オブジェクト、関数オブジェクトなどのオブジェクトの形式で使用できます。 、配列オブジェクトなど、それらはすべて Object 型オブジェクトを継承し、共通の基本プロパティとメソッドを持っています。さらに、JavaScript ではカスタム オブジェクトも使用できます。
狭い概念から分析すると、オブジェクト (Object) は最も基本的なデータ型です。複合構造と参照データです。順序付けられていないデータの集合です。オブジェクトの各メンバーは属性と呼ばれます。
JavaScript はオブジェクトベースですが、完全にオブジェクト指向のプログラミング言語ではありません。 JS オブジェクト指向プログラミング モデルには、オブジェクトとクラスという 2 つの中心的な概念があります。 ECMAScript6 仕様が登場する前は、JavaScript にはクラスの概念がなく、コンストラクターを介してクラスをシミュレートし、プロトタイプを介して継承することしか許可されていませんでした。
JS オブジェクトの作成
オブジェクトの構築
new 演算子を使用してコンストラクターを呼び出します。インスタンス オブジェクトを構築できます。具体的な使用法は次のとおりです。
var objectName = new functionName(args);
パラメータの説明は次のとおりです。
objectName: 返されたインスタンス オブジェクト。
functionName: コンストラクター。基本的には通常の関数と同じですが、戻り値を返す必要がなく、関数内でこれを使用して事前にアクセスできるインスタンス オブジェクトを返します。 。
args: インスタンス オブジェクトの初期化構成パラメーターのリスト。
例
次の例では、さまざまなタイプのコンストラクターを使用してさまざまなインスタンスを定義します。
var o = new Object(); //定义一个空对象 var a = new Array(); //定义一个空数组 var f = new Function(); //定义一个空函数
オブジェクトの直接量
直接量を使用すると、オブジェクトをすばやく作成でき、最も効率的で簡単な方法でもあります。具体的な使用法は次のとおりです:
var objectName = { 属性名1 : 属性值1, 属性名2 : 属性值2, ... 属性名n : 属性值n };
オブジェクト リテラルでは、属性名と属性値はコロンで区切られます。属性値には任意のタイプのデータを指定でき、属性名には JavaScript 識別子または文字列型の式。プロパティはカンマで区切られ、最後のプロパティの末尾にカンマは必要ありません。
例
次のコードでは、オブジェクト リテラルを使用して 2 つのオブジェクトを定義します。
var o = { //对象直接量 a : 1, //定义属性 b : true //定义属性 } var o1 = { //对象直接量 "a" : 1, //定义属性 "b" : true //定义属性 }
JavaScript コンストラクター
JavaScript コンストラクター (Constructor) は、コンストラクターおよび型関数とも呼ばれ、オブジェクト テンプレート、コンストラクター 関数は任意の数のインスタンスを生成できます。インスタンス オブジェクトは同じ属性と動作特性を持ちますが、同等ではありません。
コンストラクターを定義する
コンストラクターと通常の関数の間には、構文と使用方法の点で違いはありません。コンストラクタの定義方法は以下のとおりです。
function 类型名称 (配置参数) { this.属性1 = 属性值1; this.属性2 = 属性值2; ... this.方法1 = function () { //处理代码 }; ... //其他代码,可以包含return语句 }
通常の関数と区別するため、コンストラクタ名の最初の文字を大文字にすることを推奨します。
コンストラクターには 2 つの特徴的な機能があります。
関数本体内でこれを使用して、生成するインスタンス オブジェクトを参照します。
新しいコマンドを使用して関数を呼び出し、インスタンス オブジェクトを生成する必要があります。
例
次の例は、2 つのプロパティと 1 つのメソッドを含むコンストラクターの定義を示しています。
function Point (x, y) { //构造函数 this.x = x; //私有属性 this.y = y; //私有属性 this.sum = function () { //方法 return this.x + this.y; } } 在上面代
コード内では、Point はコンストラクターであり、インスタンス オブジェクトを生成するためのテンプレートを提供します。
[推奨学習: JavaScript 上級チュートリアル]
以上がJavaScriptの関数とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。