私はsetTimeout
関数を使用し、別のメソッドを呼び出すメソッドを持っています。最初のロード方法では、2はうまく動作します。しかし、タイムアウト後、method2
が定義されていないというエラーが表示されます。私はここで間違って何をしていますか?setTimeoutとJavaScriptの "this"
例:
test.prototype.method = function()
{
//method2 returns image based on the id passed
this.method2('useSomeElement').src = "http://www.some.url";
timeDelay = window.setTimeout(this.method, 5000);
};
test.prototype.method2 = function(name) {
for (var i = 0; i < document.images.length; i++) {
if (document.images[i].id.indexOf(name) > 1) {
return document.images[i];
}
}
};
ようにそれを行うことができますES6に:ちょうど "finction" であります質問のタイプミスか、それともあなたのコードにありますか? –
method2の定義とスコープを追加してください。 –
申し訳ありませんが、タイプは –