• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最後に()が付いていない内側の関数を外から呼ぶ方法)

最後に()が付いていない内側の関数を外から呼ぶ方法

このQ&Aのポイント
  • 最後に()演算子がないので、内側の関数を実行することができない。
  • 外側の関数で内側の関数を呼び出す記述もないため、実行することができない。
  • 内側の変数の定義はあるが、それが使われることはない。

質問者が選んだベストアンサー

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.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()() 関数を返す関数は極めて重要なテクニックです

re97
質問者

お礼

回答ありがとうございました。 >obj.portal(),goo()でlogが呼ばれます ・カンマ演算子ってこういう使い方も出来るんですね ・大変勉強になりましたー

関連するQ&A