var Figure;
Figure = (function() {
function Figure() {}
Figure.pi = 3.14;
Figure.square = function(base, height) {
return base * height;
};
return Figure;
})();
alert(Figure.pi);
alert(Figure.square(3,4));
というJavascriptのソースがあり、3.14と12がアラートで出てくるんだと思うのですが、
function Figure() {}
の行の意味がわからないでおります。
中身のない2種類のかっこがあるうえにこの行にはセミコロンもなく、なにかの宣言をしているのかどうかもわからないでおります。
ご教示いただけると助かります。
No.1ベストアンサー
- 回答日時:
確かにちょっとわかりにくい内容ですね
なかのfunction Figure() {}は無名関数のなかで生成する名前付き関数で
その実行結果をFigureにかえしています。
var x;
y = function() {
function z() {}
z.pi = 3.14;
z.square = function(base, height) {
return base * height;
};
return z;
};
x=y();
alert(x.pi);
alert(x.square(3,4));
ということです。
例題はxとzが同じ名前を振っているのでわかりにくいのです
実際にはこうするほうがよいでしょう。
var Figure=new function(){
this.pi = 3.14;
this.square = function(base, height) {
return base * height;
};
};
alert(Figure.pi);
alert(Figure.square(3,4));
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数でy=g(x)のgとは何の略です...
-
javascript(jQuery)でセル内...
-
Javascriptの丸括弧の意味
-
要素名がスペースを含む場合のj...
-
jslintのエラーについて質問
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
ページ内に複数表がある場合のT...
-
jqueryuiのdialog
-
setTimeoutで、止まらない
-
同じIDで定義した要素の配列を...
-
<a>タグのテキストを取得
-
【正規表現】【javascript】CR...
-
javascriptで文字挿入でtoggle...
-
句点“。”で区切り、“。”も含め...
-
Boolean型配列中のTrueの有無を...
-
gas スプレッドシートがアクテ...
-
スロットマシン風の表示
-
ローカルにあるファイルを検索...
-
Vb.netのグローバル変数の宣言...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数でy=g(x)のgとは何の略です...
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
jQueryの :not() .not() が有効...
-
処理前の「お待ちください」
-
jslintのエラーについて質問
-
XMLHttpRequestでキャッシュを...
-
クリックすると上に開くアコー...
-
コードをスマートにさせたい。
-
関数名をテキストから読み込む...
-
jqueryの変数を関数の外に出す方法
-
シューティングゲームの作り方
-
要素名がスペースを含む場合のj...
-
getElementByIdを使用したグロ...
-
XMLHttpRequestオブジェクトが...
-
jQueryが読み込めない
-
Ajaxでデータベース(PostgreSQL)
-
setTimeoutで、止まらない
-
jQueryでzipを解凍読み込みする...
-
CDの曲をケータイのSDに移す
おすすめ情報
ありがとうございます。無名関数とかはだいぶ自分にとってややこしいですが、
だいぶわかってきました。
なかのfunction Figure() {}は無名関数のなかで生成する名前付き関数で
その実行結果をFigureにかえしています。
→
となると、function Figure() {}はセミコロンがないのですが
この一行で一応文は完結しているのでしょうか?