質問

私はそのかなり基本を知っているが、私はちょうどそれが仕事を得ることができません。それは投げ続けて「期待オブジェクト」エラー...

 $(document).ready(function(){   
    setTimeout('showMessage()', 1000); 

    function showMessage() { 
        alert('abc');
    } 
    });
役に立ちましたか?

解決

SLaksが言ったように、

あなたは、それはない、それは期待していますオブジェクトとして、文字列として扱われますので、引用符であなたの関数をラップし、そうしている:

 $(document).ready(function(){   
    setTimeout(showMessage, 1000); 

    function showMessage() { 
        alert('abc');
    } 
    });

他のヒント

あなたはスコープの問題を持っている:。showMessage()は匿名関数withingのみ表示されますが、setTimeout()へのパラメータが評価取得すると、ランタイムがすでにスコープを残した。

setTimeout()と悪を取り除くために、引数として直接関数を使用して[TM]の文字列の評価ます:

setTimeout(showMessage, 1000); 

setTimeout方法が最善の機能ではなく、文字列で使用されています。そのため、これを行うための最善の方法は、次のようになります:

$(document).ready(function() {
    setTimeout(showMessage, 1000);
});

function showMessage() { 
    alert('abc');
}

問題がshowMessage機能がreadyイベント内で宣言されたsetTimeout(「showMessage()」、1000)は、グローバルスコープでそれを探すということです。あなたは、例えば、グローバルスコープにその宣言を移動することができますreadyイベントのうちの、またはSLaksは答える使用:のsetTimeout(showMessage、1000)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top