プロが教えるわが家の防犯対策術!

Ajaxの「prototype」( http://www.prototypejs.org/ )などで
下記のようなfunctionの記述方法をよく見かけます。
▼Prototype.js(ver1.5.0) 20行目抜粋
----------------------------------------
var Class = {
 create: function() {
  return function() {
   this.initialize.apply(this, arguments);
  }
 }
}
--------------------------------------------
でも、私には高度すぎて以下の点がどうしても読み解けません。
 (1)var Class = {~~~~~~} が、何をしているのか分かりません。
   配列なら[ ]ですし関数か何かを省略した宣言の記述方法なのでしょうか?
 (2)create: が何なのか分かりません。必死で調べたら型を宣言しているような感じでしたが、
   見慣れない「:」を使ったプログラムで検討もつきません。

私が知っているfunction宣言はこの2パターンのみしか知りません。
・一般的なfunction宣言
 function test(hikisu){
  //処理内容
 }
・無名関数でのfunction宣言
 var a = function(x) {
  //処理内容
 }

ぜひ教えていただけませんでしょうか。
どうぞよろしくお願いします。

A 回答 (2件)

1. {}はオブジェクト初期化子である。

つまりnew Object()と同じ
2.{variable : value}と書くので変数名と値の区切りに:を使っている。
valueのところにfunction(){}を書いても全く問題ない。
以下を参考に

var array = new Array();
var array = []; // 配列の初期化子
array = [1, 2]; // まとめて初期化
array[0] // => 1
array[1] // => 2

var object = new Object();
var object = {}; // オブジェクトの初期化子
object = {a : 1, b : 2}; // まとめて初期化
object.a // => 1
object.b // => 2
    • good
    • 0
この回答へのお礼

var Class = {~~~~~~} はnew Object()のことだったんですね。
変数への代入も、「=」を使わず「:」で行う方法も知りませんでした。
(型の宣言かなにかと大勘違いしてました・・・)
大変助かりました。どうもありがとうございました。

お礼日時:2007/04/10 11:56

ここに[翻訳]JSON入門というページがあります。


http://d.hatena.ne.jp/brazil/20050915/1126709945
その中に
オブジェクト
{ メンバ }
{}
メンバ
文字列 : 値
メンバ , 文字列 : 値
配列
[ 要素 ]
[]
要素

要素 , 値

文字列
数値
オブジェクト
配列
true
false
null
こんな記述があります。
この中で値にオブジェクトがあります。

ではオブジェクトとは何かと言うと、ここに”オブジェクトモデルの詳細”と言うページがあります。 http://developer.mozilla.org/ja/docs/Core_JavaSc …

こんなことだと思いますよ。
    • good
    • 0
この回答へのお礼

JSONは聞いたことがある程度で、ぜんぜん知りませんでした。
また、教えていただいた[翻訳]JSON入門サイト(http://d.hatena.ne.jp/brazil/20050915/1126709945)に、記述文法の構造図が分かりやすく掲載されていました!!!
かなり検索しまくっても見つからなかったので感激です。
全記述方法が載っているのでとても重宝しています。
どうもありがとうございました。

お礼日時:2007/04/10 12:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!