我想知道如果有人可以給我一個簡單的解決方案。揭示模塊模式和超時
我想要兩個狗實例重複樹皮+搖擺尾巴組合。
如果所有的邏輯都包含在barkNameAndTime函數中,我很好,但通過setTimout調用wagTail,我失去了上下文。我不寫很多的JS,所以我的封閉知識是一個litle生鏽,我似乎無法找到一個乾淨的解決方案。
問題是,Baloo結束了做所有的狗叫聲和尾巴搖和Lola在人羣:)失去
感謝 瓦里克
<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
};
}
哇,好斑點。現在我一直在盯着那個愚蠢的東西。非常感謝! – 2012-07-18 18:46:32
@Bergi - 感謝增加了本地功能版本。這就是我所說的概念。我可能會把'wagTail'變成一個匿名函數,因爲它沒有名字的理由。 – jfriend00 2012-07-18 18:56:13
我寧願說[功能沒有名字]沒有理由(http://blog.niftysnippets.org/2010/03/anonymouses-anonymous.html):-) – Bergi 2012-07-18 20:27:17