誰かがこれに対する簡単な解決策を教えてくれるかどうか疑問に思っていました。
2 つの犬のインスタンスに、吠える + 尻尾を振るという組み合わせを繰り返させたいと考えています。
すべてのロジックが barkNameAndTime 関数内に含まれている場合は問題ありませんが、setTimout を介して wagTail を呼び出すと、コンテキストが失われます。私はJSをあまり書いていないので、クロージャーの知識は少し錆びており、きれいな解決策を見つけることができないようです.
問題は、バルーが吠えたり尻尾を振ったりすることになり、ローラが群衆の中に紛れてしまうことです :)
ありがとうウォリック
<script type="text/javascript">
$(document).ready(function () {
var zDog1 = new dog("Lola");
var zDog2 = new dog("Baloo");
zDog1.bark();
zDog2.bark();
});
function dog(aName) {
var name = aName,
barkNameAndTime = function () {
var time = new Date().getTime();
$('#MyDiv').html($('#MyDiv').html() + "<br />" + name + " barked @ " + time);
setTimeout(wagTail, 1000);
};
wagTail = function () {
var time = new Date().getTime();
$('#MyDiv').html($('#MyDiv').html() + "<br />" + name + " wagged tail @ " + time);
setTimeout(barkNameAndTime, 1000);
}
return {
bark: barkNameAndTime
};
}