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.2
- 回答日時:
> function Figure() {}はセミコロンがないのですが
javascriptは理論的に区切られているのであればセミコロンなしの
改行が文の終わりを示すことができます
特に{}は論理的な区切りをさすのでforやwhileなどのループ構造でも
一般的にセミコロンはつけないですよね?
了解しました。ありがとうございます!
自分の持っているjavascriptの本は無名関数とかまでは触れていないので
本来はそこまで解説されている本を自分で読まねばならないところですが・・・
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で質問しましょう!
似たような質問が見つかりました
- 英語 フィギュアスケートのfigureの意味をお教えください。 6 2023/04/19 14:42
- 英語 figureの意味 3 2023/06/12 05:01
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- その他(プログラミング・Web制作) VS CodeでTEXファイルにPDF形式の図を挿入する方法 2 2023/01/19 11:56
- JavaScript htmlとcssに関する質問です 3 2022/12/06 05:36
- 英語 Pre-existing periapical pathology, when the apices 1 2023/04/27 22:27
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- 英語 この英文について質問です 2 2022/11/21 22:59
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript JavaScriptの即時関数の書き方 1 2022/11/29 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
functionから別のfunctionを実...
-
関数でy=g(x)のgとは何の略です...
-
idを使わずにonclickで自身の要...
-
ドロップダウンメニューがデフ...
-
ページ内に複数表がある場合のT...
-
jQueryの :not() .not() が有効...
-
JAVAスクリプトで指定時間以降...
-
クリックすると上に開くアコー...
-
jQueryの"return false"の役割...
-
ASP 最終日の表示
-
【jQuery】for文ではイベント登...
-
javaScriptのコードの修正をお...
-
同じIDで定義した要素の配列を...
-
翌月を取得するGASが分かりません
-
ActiveXobjectが作成できない
-
ジェネレーターの作り方
-
google apps scriptの終了のさせ方
-
Javascriptのhtml出力についてa...
-
なぜmatchメソッドがエラーにな...
-
XMLでのAttributeを持ったNode...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
関数でy=g(x)のgとは何の略です...
-
jslintのエラーについて質問
-
クリックすると上に開くアコー...
-
XMLHttpRequestでキャッシュを...
-
ajax反映後のjqueryが動かない
-
function(e)の意味を教えてくだ...
-
要素名がスペースを含む場合のj...
-
jQueryの :not() .not() が有効...
-
jQueryでzipを解凍読み込みする...
-
関数名をテキストから読み込む...
-
getElementByIdを使用したグロ...
-
jqueryuiのdialog
-
jqueryのグローバル変数とロー...
-
jQuery 同じ処理を関数にまとめ...
-
XMLHttpRequestオブジェクトが...
-
addEventListener()でリスナー...
-
drawImageの描画順序の指定につ...
-
javascript(jQuery)でセル内...
おすすめ情報
ありがとうございます。無名関数とかはだいぶ自分にとってややこしいですが、
だいぶわかってきました。
なかのfunction Figure() {}は無名関数のなかで生成する名前付き関数で
その実行結果をFigureにかえしています。
→
となると、function Figure() {}はセミコロンがないのですが
この一行で一応文は完結しているのでしょうか?