麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > JS > 正文

在window.setTimeout方法中傳送對象

2024-09-06 12:44:17
字體:
來源:轉載
供稿:網友
其語法是:

window.setTimeout(expr,msec)

    expr是執行字符串,在msec毫秒之后,就會作為js運行。我昨天才發現,原來expr也可以是一個函數,呵呵,用這個特性,就可以進行對象的傳送了。
    下面的代碼實現了把函數foo1中的對象p,延時傳送到函數foo2中的功能。 

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]


[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
現在很多框架其實都直接一種多投事件(它的實現原理也不復雜),一個多投事件本身,其實是是一個標準的函數,但是它一般有下述的方法。

MuEvent.add = function (func) { ... }

MuEvent.addMethod = function (instance, func) { ... }

 

當使用第一種方法時,在激活func這個事件處理函數時,使用MuEvent的當前實例為this對象;第二種則使用傳入的instance作為this對象。

 

因此對于setTimeout來說,我們傳統的方法要這樣使用它來激活方法:

----------
function doTimer() {
  obj1.call();
  obj2.call();
}
setTimeout(doTimer, 1000);


而使用多投事件的代碼就可以如下:

----------
var e = new MuEvent();
e.addMethod(obj1, obj1.call);
e.addMethod(obj2, obj2.call);

setTimeout(e, 1000);
----------

 

當然,你想要寫得COOL一點,可以是這樣:

----------

setTimeout(function() {

  return new MuEvent(obj1, obj1.call, obj2, obj2.call); 

}(), 1000);
----------  

作為一點點介紹,我所做的Qomo是用這種形式來實現的MuEvent。象Atlas之類的框架,大多也采用類似的方法。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日日摸夜夜添夜夜添牛牛 | 欧美成人影院 | 国产一区二区三区在线观看视频 | 伊人二本二区 | 欧美成人鲁丝片在线观看 | 一级视频在线播放 | 欧美性生活视频免费看 | 九色国产| 免费放黄网站在线播放 | 午夜伦情电午夜伦情电影 | 日韩激情| 深夜福利视频免费观看 | 亚洲一区二区三区视频免费 | 亚洲第一成网站 | 国产精品自拍啪啪 | 成人福利视频在线观看 | 巨乳毛片 | 91一区二区三区久久久久国产乱 | 九九热视频这里只有精品 | 国产成人在线网站 | 国产在线精品一区二区三区 | 本站只有精品 | 91成人在线免费视频 | 久久久一区二区三区四区 | 亚洲码无人客一区二区三区 | 亚洲电影在线观看高清免费 | 法国性hdfreexxxx人妖 | 久久久久久久久久久久久久久久久久 | 麻豆porn | 国产交换3p国产精品 | 成人一区二区三区在线 | 亚洲91网 | 国产成人av免费看 | 91 成人 | 丰满年轻岳中文字幕一区二区 | av免费提供| 亚洲第一激情 | 黄色毛片一级 | 免费国产wwwwwww网站 | 国产精品视频一区二区噜噜 | 亚洲射逼|