1) 通常 JSON 記法 2) 無名 function 記法 3) 有名 function による インスタンス作成
<script type="text/javascript"> var obj1 = { myobj: { func: function(){ return this.value }, value: "OK" } } var obj2 = new function() { this.myobj = { func: function(){ return this.value }, value: "OK" } } function obj() { this.myobj = { func: function(){ return this.value }, value: "OK" } } var obj3 = new obj(); console.dir(obj1.myobj.func()); console.dir(obj2.myobj.func()); console.dir(obj3.myobj.func()); console.dir(obj1); console.dir(obj2); console.dir(obj3); </script>
この結果では当然ですが、有名ファンクションでは『型』は function 名となっています。 さらに、もう一つの形として、Object 型の最初から myobj を設定しておくと以下のようになります。
<script type="text/javascript"> Object.prototype.myobj = { func: function(){ return this.value }, value: "OK" } var obj1 = { } var obj2 = new function() { this.myobj = { func: function(){ return this.value }, value: "OK" } } console.dir(obj1.myobj.func()); console.dir(obj2.myobj.func()); console.dir(obj1); console.dir(obj2); </script>
空のオブジェクトでも、myobj が使用可能になりますが、全てのオブジェクトに対して定義されてしまいます。しかし、同名のプロパティを上書きするとそちらが有効になります。
|
【JavaScript オブジェクトの最新記事】
- JavaScript : window オブジェクトのプロパティとしてグローバル変数を定義する
- ほぼ、Google Chrome 限定ですが Web Speech API の現時点での実装と問題点回避方法
- Google Chrome での音声認識処理
- JavaScript でテーブル要素の td をクリックしてテキストを選択する / Range オブジェクト
- Google Chrome で音声認識の結果をブログの投稿テキストエリアに転送するブックマークレット
- JavaScript の String と Date オブシェクトに、9999/99/99 書式の文字列日付を取り出すメソッドを追加する
- JavaScript の function を new したものが、JSON フォーマットで記述した『Object』と同じである事のテスト
- JavaScript による半角と全角の相互変換(カタカナを除く)完成版
- Three.js で行われている整然としたクラス作成
- JSON オブジェクトの stringify メソッドの第3引数の使い方
- JS : 自分用名前空間を使ってページのロードイベントを登録
- Object.prototype が window オブジェクトに適用されるおはなし
- JS : クロスドメインの IFRAME からデータを JSON 形式で引き渡す
- JavaScript : 右から指定した文字数を取りだす right メソッドを String オブジェクトに追加
- JSON と文字列の関係
- JavaScript : ネームスペースの作成
- JavaScript : HTMLの要素内のイベント記述で複雑な処理を書く方法( 関数を定義したく無い場合 )
- JavaScript : 無名関数(メソッド)の実行
- JavaScript : Numberオブジェクトに16進数文字列に変換して指定した長さで前にゼロを付けるメソッドを追加する
- JavaScript : String オブジェクトの replace メソッドの第二引数に関数を指定する一括置き換え処理