ユーザ用ツール

サイト用ツール


javascript:object

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

javascript:object [2008/07/03 08:28] – 外部編集 127.0.0.1javascript:object [2011/07/06 02:49] (現在) nullpon
行 1: 行 1:
 ====== JavaScriptのオブジェクト ====== ====== JavaScriptのオブジェクト ======
 +
 +  * ネイティブオブジェクト - ECMAScriptの実装で用意されているオブジェクト
 +    * 標準ネイティブオブジェクト - ECMAScriptの仕様で決められているネイティブオブジェクト
 +
 +  * ビルトインオブジェクト - ECMAScriptの実装で用意され、実行環境から独立して最初から存在するオブジェクト。ネイティブオブジェクトに等しい
 +    * 標準ビルトインオブジェクト - ECMAScriptの仕様で定義されているビルトインオブジェクト。標準ネイティブオブジェクトと同義
 +
 +  * ホストオブジェクト - ECMAScriptのホスト環境によって作成されるオブジェクト、プログラムの実行環境に依存する。
 + 
 +たとえばDOMオブジェクトはブラウザという実行環境に依存するため、ネイティブオブジェクトではなく、ホストオブジェクトである。
 +
 +
 ===== Objectコンストラクタ ===== ===== Objectコンストラクタ =====
-newによって新しいオブジェクトを作成(Objectオブジェクトのクローンを作成)します。+new演算子によって新しいスタンスを作成す 
 <code javascript> <code javascript>
 // 引数無し、null、undefinedの場合→新しいオブジェクト生成 // 引数無し、null、undefinedの場合→新しいオブジェクト生成
行 20: 行 33:
  
 ===== メソッドとプロパティ ===== ===== メソッドとプロパティ =====
-メソッドとプロパティは、生成したオブジェクトにいつでも追加して使う事ができます+メソッドとプロパティは、生成したオブジェクトにいつでも追加でき
 <code javascript> <code javascript>
 var obj = new Object(); var obj = new Object();
行 28: 行 41:
 print(obj.hoge);        // ホゲ print(obj.hoge);        // ホゲ
  
 +obj.fuga= "ホゲ";
 +print(obj.fuga);        // ホゲ
  
 // メソッド追加 // メソッド追加
-obj.getHoge = function() { +obj.getHogeFuga = function() { 
- return this.hoge + return this.hoge + this.fuga
 } }
-print(obj.getHoge());   // ホゲ+print(obj.getHogeFuga());   // ホゲフガ
 </code> </code>
-メソッド内で他のメソッドやプロパティにアクセスするにはthisキーワードを使います+メソッド内で他のメソッドやプロパティにアクセスするにはthisキーワードを使
  
-===== オブジェトと連想配列 ===== +プロパティにアセスするの、. 演算子直接名前を指定るか、[] 表記を使う。(ECMA-262 5th 11.2.1)
-オブジェクト連想配列として扱う事が可能です +
-<code javascript> +
-var obj = new Object();+
  
-obj.hoge = "ホゲ"; +<code> 
-print(obj.hoge); +console.log( obj.hoge ) 
-print(obj["hoge"]);+console.log( obj["hoge"] )
  
-obj["fuga"] = "フガ"; +console.log( obj.getHogeFuga() ); 
-print(obj.fuga); +console.log( obj["getHogeFuga"]() );
-print(obj["fuga"]);+
 </code> </code>
-JavaScriptでは連想配オブジェクトは同じ物+ 
 +[]表記では文字でプロパティを指定できるので、動的なメソッドディスパッチ・プロパティアクセスが容易である。 
 + 
 +===== オブジェクトリテラル ===== 
 + 
 +new演算子を使わず、オブジェクトリテラルを用いてインスタンスを生成きる(ECMA-262 5th 11.1.5) 
 <code javascript> <code javascript>
-var obj = {hoge: "ほげ", fuga: "ふが"};  //連想配列を定義 +var obj = { 
-print(obj.hoge);       // プロパティとしてアクセス +    hoge: "ほげ", 
-print(obj["hoge"]);    // 連想配列としてアクセス+    fuga: "ふが", 
 +    getHogeFuga: function() { 
 +        return this.hoge + this.fuga  
 +    
 +};
 </code> </code>
 +
 +これは以下の処理と同一の結果となる。
 +
 +<code javascript>
 +var obj = new Object();
 +obj.hoge = "ほげ";
 +obj.fuga = "ふが";
 +obj.getHogeFuga = function() {
 +    return this.hoge + this.fuga
 +};
 +</code>
 +
javascript/object.1215073728.txt.gz · 最終更新: 2011/07/06 02:49 (外部編集)