1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

javascript 関数オブジェクトの内部関数へのアクセス(私的整理)

Last updated at Posted at 2021-05-04

JSの関数オブジェクトは色々と生成方法があって、生成方法にって中身が異なったりするよう。すごく迷うところに感じる。

以下はちょっと自分的な迷いどころで、内部関数に関して自分用に整理してみた。

関数の生成 内部関数inn()へのアクセス 呼び出し 備考
sam=function( ){inn=function( ){ }}; 不可 - クロージャー
function sam( ){inn=function( ){ }} 不可 - クロージャー
sam=function( ){inn=function( ){ };return inn;}; sam( )( ); 直接inn( )は呼べないが、returnで戻せばOK
function sam( ){inn=function( ){ };return inn;} sam( )( ); 上に同じ
function sam( ){this.inn=function( ){ }} new sam( ).inn( );
sam={inn:function( ){ }}; sam.fun( ) innは関数ではなくパラメータ
(クロージャーにならない)

sam=function( ){inn.function( ){ }}には、constructorはなく、インスタンス化できないので、new sam( ).inn( );のようにはできない。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?