2012-03-31 9 views
0

ユーザがアプリケーションの一部を訪問した後に呼び出される初期化関数を使用したいが、その最初の訪問の後に私はもはや初期化したくない。これを行う簡単な方法は、フラグとif文を使用することですが、この問題に対するより良い解決策があります。 他の言語でこのメソッドの呼び出し後にinit関数の本体を変更しました。初期化関数を書く適切な方法

これはJavascriptでも実行できますか?私はこのような何かを書いたが、日食は、それが違法譲渡であることを言う:

function initEdit(){ 
... 

this = function() {}; 
} 
+0

あなたは 'this'は関数自体を参照していることだと思いますか?代わりのために –

答えて

2

はい、できますが、あなたが名前で、それを指定する必要がありますので、関数にthis参照していない:

従うことが容易になるかもしれない
function initEdit(){ 
    ... 

    initEdit = function() {}; 
} 

もう一つの選択肢は、単に変数を使用することです:

var initialised = false; 

function initEdit(){ 
    if (!initialised) { 
    initialised = true; 
    ... 
    } 
} 
+0

+1。この方法が簡単な場合、その意図はより明白です。 – vhallac

関連する問題