首頁 > web前端 > js教程 > 主體

javascript實作yield的方法_javascript技巧

WBOY
發布: 2016-05-16 17:17:13
原創
889 人瀏覽過

沒想到程式碼一次測試成功.~~只不過是FF下面,修改一下支援IE了。由於IE不認function表達式.

複製碼 代碼如下:

   var coroutine = null;
            var cofn_this = null;
            coroutine.apply(cofn_this, arguments);
            }
         / NOTE: IE eval("function(){}") does not return a function object.
            eval 🎜 >                coroutine = cofn;
              turn fn.apply(this)
            };
        }
    for (var i = 0; i                 yield(this[i])        // example.
        this.display = window.alert;
        var A = [1,2,3,4,5];
        A.for      }, this) ;



其中有一個技巧:

        fn = eval(fn.toString())

        用來將fn中的引文綁定到目前的脈絡中,這樣fn中的yield才會引用到我們定義的yield函數。

        留意一下,如果你需要在coroutine裡訪問其他this上下文,需要向iterator傳遞進去, 如 example.
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板