- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最後に()が付いていない内側の関数を外から呼ぶ方法)
最後に()が付いていない内側の関数を外から呼ぶ方法
このQ&Aのポイント
- 最後に()演算子がないので、内側の関数を実行することができない。
- 外側の関数で内側の関数を呼び出す記述もないため、実行することができない。
- 内側の変数の定義はあるが、それが使われることはない。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
前者は基本的にそうです。後者の場合はobj.portalを呼ぶと上位スコープにgooが出てくるので obj.portal(),goo()でlogが呼ばれます ・最後に()演算子がないので、内側のgoo関数を実行することが出来ない ・外側のportalで、内側のgoo関数を呼び出していれば実行できるがその記述もない 付け加えるならばportalがgooを返していれば有用です var obj = { portal : function() { var goo = function(){ console.log("a"); }; return goo; } } obj.portal()() 関数を返す関数は極めて重要なテクニックです
お礼
回答ありがとうございました。 >obj.portal(),goo()でlogが呼ばれます ・カンマ演算子ってこういう使い方も出来るんですね ・大変勉強になりましたー