最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript實(shí)現(xiàn)yield的方法

 更新時(shí)間:2013年11月06日 16:43:16   作者:  
這篇文章介紹了javascript實(shí)現(xiàn)yield的方法,有需要的朋友可以參考一下

沒想到代碼一次測試成功.~~只不過是FF下面,修改一下支持IE了。由于IE不認(rèn)function表達(dá)式.

復(fù)制代碼 代碼如下:

       var Iterator = function (fn) {
            var coroutine = null;
            var cofn_this = null;
            var yield = function() {
                coroutine.apply(cofn_this, arguments);
            }
            // support IE.
            // NOTE: IE eval("function(){}") does not return a function object.
            eval('fn = ' + fn.toString());
            return function(cofn, cothis){
                coroutine = cofn;
                cofn_this = cothis;
                return fn.apply(this)
            };
        }
        Array.prototype.forEach = new Iterator(function () {
            for (var i = 0; i < this.length; i ++) {
                yield(this[i])
            }
        });
        // example.
        this.display = window.alert;
        var A = [1,2,3,4,5];
        A.forEach(function(it){
            this.display(it)
        }, this);

其中有一個(gè)技巧:

        fn = eval(fn.toString())

        用于將fn中的引用綁定到當(dāng)前的上下文中,這樣fn中的yield才會引用到我們定義的yield函數(shù)。

        注意一下,如果你需要在coroutine里訪問其他this上下文,需要向iterator傳遞進(jìn)去, 如 example.

相關(guān)文章

  • 編寫更好的JavaScript條件式和匹配條件的技巧(小結(jié))

    編寫更好的JavaScript條件式和匹配條件的技巧(小結(jié))

    這篇文章主要介紹了編寫更好的JavaScript條件式和匹配條件的技巧(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 移動端touch拖動和click事件沖突問題解決

    移動端touch拖動和click事件沖突問題解決

    這篇文章主要為大家介紹了移動端touch拖動和click事件沖突問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 微信小程序左滑動顯示菜單功能的實(shí)現(xiàn)

    微信小程序左滑動顯示菜單功能的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序左滑動顯示菜單功能的實(shí)現(xiàn),代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • javascript高級的文件目錄排序代碼

    javascript高級的文件目錄排序代碼

    這幾天在做一個(gè)文件管理的模塊,里面有排序的功能,產(chǎn)品經(jīng)理看了說希望能做出更加智能的文件排序功能,就像是win7的名稱排序一樣,主要就是文件名中的數(shù)字會按大小排序,而不是直接按ascii碼 ,這兩天晚上沒事,就先寫了這個(gè)排序方法,下個(gè)版本中就可以用上了
    2010-08-08
  • 微信小程序如何調(diào)用圖片接口API并居中顯示

    微信小程序如何調(diào)用圖片接口API并居中顯示

    這篇文章主要介紹了微信小程序如何調(diào)用圖片接口API并居中顯示,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 淺析JSONP技術(shù)原理及實(shí)現(xiàn)

    淺析JSONP技術(shù)原理及實(shí)現(xiàn)

    這篇文章主要介紹了淺析JSONP技術(shù)原理及實(shí)現(xiàn) 的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 淺談JavaScript 覆蓋原型以及更改原型

    淺談JavaScript 覆蓋原型以及更改原型

    下面小編就為大家?guī)硪黄獪\談JavaScript 覆蓋原型以及更改原型。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨過來看看吧
    2016-08-08
  • JavaScript手寫一個(gè)前端存儲工具庫

    JavaScript手寫一個(gè)前端存儲工具庫

    在項(xiàng)目開發(fā)的過程中,為了減少提高性能,減少請求,開發(fā)者往往需要將一些不易改變的數(shù)據(jù)放入本地緩存中。本文就來用JavaScript手寫一個(gè)前端存儲工具庫,希望對大家有所幫助
    2023-02-02
  • javascript定時(shí)保存表單數(shù)據(jù)的代碼

    javascript定時(shí)保存表單數(shù)據(jù)的代碼

    我相信有不少TX用過QQ或163的郵箱吧?他們中有一個(gè)比較有用且有趣的功能,如果您在編寫郵件,那在固定一個(gè)時(shí)間頻率內(nèi),它會自動將您的郵件內(nèi)容保存起來,以免丟失。
    2011-03-03
  • JavaScript中判斷變量是數(shù)組、函數(shù)或是對象類型的方法

    JavaScript中判斷變量是數(shù)組、函數(shù)或是對象類型的方法

    這篇文章主要介紹了JavaScript中判斷變量是數(shù)組、函數(shù)或是對象類型的方法,需要的朋友可以參考下
    2015-02-02

最新評論

恩平市| 长子县| 淳安县| 青神县| 三台县| 河南省| 阿合奇县| 炉霍县| 景德镇市| 逊克县| 蓝山县| 双江| 巢湖市| 雷山县| 赤峰市| 林州市| 天柱县| 嘉峪关市| 盘山县| 铅山县| 海口市| 庄浪县| 三都| 鸡东县| 鱼台县| 潼南县| 曲松县| 黄冈市| 广元市| 广州市| 陆丰市| 太康县| 中山市| 福安市| 诸暨市| 望奎县| 东乌珠穆沁旗| 江永县| 临江市| 无极县| 陇南市|