javascript 関数オブジェクトの内部関数へのアクセス(私的整理)
1022 ワード
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( );のようにはできない。
Author And Source
この問題について(javascript 関数オブジェクトの内部関数へのアクセス(私的整理)), 我々は、より多くの情報をここで見つけました https://qiita.com/old_cat/items/e58ad717856104b70b34著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .