登录  /  注册
JavaScript iterator 迭代器的问题?
ringa_lee
ringa_lee 2017-05-19 10:47:40
[JavaScript讨论组]

看MDN上面关于迭代器的章节
https://developer.mozilla.org...生成器表达式

然后就自己练习,发现一个问题。

//下面这个例子 ,想要实现打印3,4,5
var add=function(x,y){
    var current=x;
    return {
        [Symbol.iterator]:function(){return this;},
        next:function(){  return current++;}
    }
}


var it=add(3,5);
console.log(it.next());  

console.log(it.next()); 

console.log(it.next()); 

//结果  3 4 5

//注意与下面这种写法的区别
console.log(add(3,5).next()); //3

console.log(add(3,5).next()); //3

console.log(add(3,5).next()); //3

代码比较简单吧,我想问的是为什么第二种方法,我没有将add()方法赋值给it的时候,就不能够生成迭代了。按照我的理解,在这个例子中的add(3,5)是和it等效的,但是结果显然不是如此。

ringa_lee
ringa_lee

ringa_lee

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号