{"id":1914,"date":"2023-03-25T14:26:38","date_gmt":"2023-03-25T06:26:38","guid":{"rendered":""},"modified":"2023-03-25T14:26:38","modified_gmt":"2023-03-25T06:26:38","slug":"ES6 \u751f\u6210\u5668","status":"publish","type":"post","link":"https:\/\/bianchenghao6.com\/1914.html","title":{"rendered":"ES6 \u751f\u6210\u5668"},"content":{"rendered":"
\n
<\/p>\n
\u5f53\u751f\u6210\u5668\u88ab\u8c03\u7528\u65f6\uff0c\u5b83\u4e0d\u4f1a\u8fd0\u884c\u5b83\u7684\u4ee3\u7801\u3002\u76f8\u53cd\uff0c\u5b83\u8fd4\u56de\u4e00\u4e2a\u79f0\u4e3a\"\u751f\u6210\u5668\u5bf9\u8c61\"\u7684\u7279\u6b8a\u5bf9\u8c61\uff0c\u7528\u4e8e\u7ba1\u7406\u6267\u884c\u3002<\/span> <\/code>\n <\/div>\n <\/code>\n <\/div>\n <\/code>\n <\/div>\n \u4ef7\u503c: \u5b83\u662f\u4ea7\u751f\u7684\u4ef7\u503c\u3002<\/span> <\/code>\n <\/div>\n <\/code>\n <\/div>\n <\/code>\n <\/div>\n <\/code>\n <\/div>\n <\/code>\n <\/div>\n <\/code>\n <\/div>\n <\/body>
\n \u751f\u6210\u5668\u51fd\u6570\u53ef\u4ee5\u968f\u65f6\u5c06\u63a7\u5236\u6743\u8fd4\u56de(\u6216\u8ba9\u51fa)\u7ed9\u8c03\u7528\u8005\u3002<\/span>
\n \u4e0e\u5e38\u89c4\u51fd\u6570\u4e0d\u540c\uff0c\u751f\u6210\u5668\u53ef\u4ee5\u6839\u636e\u8981\u6c42\u4e00\u4e2a\u63a5\u4e00\u4e2a\u5730\u8fd4\u56de(\u6216\u4ea7\u751f)\u591a\u4e2a\u503c\u3002<\/span> <\/p>\n\u8bed\u6cd5<\/h3>\n
function* mygenfun()\t\/\/ Valid<\/span><\/span><\/span>\n{\nyield 1;\nyield 2;\n...\n...\n}\nfunction *mygenfun()\t\/\/ Valid\n{\nyield 1;\nyield 2;\n...\n...\n}\nfunction*mygenfun()\t\/\/ Valid\n{\nyield 1;\nyield 2;\n...\n...\n}<\/pre>\n
\u793a\u4f8b<\/h3>\n
function* gen()\n{\nyield 100;\nyield;\nyield 200;\n}\n\/\/ Calling the Generator Function<\/span>\nvar <\/span>mygen = gen();\nconsole.log<\/span>(mygen.next<\/span>().value);\nconsole.log<\/span>(mygen.next<\/span>().value);\nconsole.log<\/span>(mygen.next<\/span>().value);<\/pre>\n
100\nundefined\n200<\/pre>\n
yield \u8bed\u53e5<\/h2>\n
next() \u65b9\u6cd5<\/h2>\n
\n done: \u5b83\u662f\u4e00\u4e2a\u5e03\u5c14\u503c\uff0c\u5982\u679c\u51fd\u6570\u4ee3\u7801\u5df2\u5b8c\u6210\u5219\u8fd4\u56de\u771f\u3002\u5426\u5219\uff0c\u5b83\u4f1a\u62a5\u9519\u3002<\/span> <\/p>\n\u793a\u4f8b<\/h3>\n
function* show() {\nyield 100;\n}\nvar <\/span>gen = show();\t\/\/here 'gen'<\/span> is a generator object<\/span>\nconsole.log<\/span>(gen.next<\/span>()); \/\/ { value: 100, done: false<\/span> <\/span>}<\/span><\/pre>\n
{ value: 100, done: false<\/span> <\/span>}<\/pre>\n
\u751f\u6210\u5668\u5bf9\u8c61<\/h2>\n
\u751f\u6210\u5668\u4e2d\u7684\u8fd4\u56de\u8bed\u53e5<\/h2>\n
\u793a\u4f8b<\/h3>\n
function* myGen() {\nyield 'First yield statement'<\/span><\/span>;\nyield 'Second yield statement'<\/span><\/span><\/span>;\nreturn <\/span>'return <\/span>statement'<\/span><\/span>;\nyield 'Second yield statement';\n}\nlet genobj = myGen();\nconsole.log<\/span>(genobj.next<\/span>()); \/\/returns {value: 'First yield statement', done: false<\/span>}<\/span>\nconsole.log<\/span>(genobj.next<\/span>()); \/\/returns {value: 'Second yield statement', done: false<\/span>}<\/span>\nconsole.log<\/span>(genobj.next<\/span>()); \/\/returns {value: 'return <\/span>statement', done: true<\/span><\/span>}<\/span>\nconsole.log<\/span>(genobj.next<\/span>());\t\/\/returns {value: undefined, done: true<\/span><\/span>}<\/span><\/pre>\n
{ value: 'First yield statement'<\/span>, done: false<\/span> <\/span>}\n{ value: 'Second yield statement'<\/span>, done: false<\/span> <\/span>}\n{ value: 'return <\/span>statement'<\/span>, done: true<\/span><\/span> }\n{ value: undefined, done: true<\/span><\/span> }<\/pre>\n
\u5e26 for...of \u5faa\u73af\u7684\u751f\u6210\u5668\u51fd\u6570<\/h2>\n
\u793a\u4f8b<\/h3>\n
\"use strict\"<\/span> \nfunction* vowels() { \n \/\/ here the asterisk marks this<\/span> as a generator <\/span>\n yield 'A'<\/span>; \n yield 'E'<\/span>; \n yield 'I'<\/span>; \n yield 'O'<\/span>; \n yield 'U'<\/span>; \n} \nfor(let alpha of vowels()) { \n console.log<\/span>(alpha); \n}<\/pre>\n
A\nE\nI\nO\nU<\/pre>\n
\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"ES6 \u751f\u6210\u5668zh-cn","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[161],"tags":[],"class_list":["post-1914","post","type-post","status-publish","format-standard","hentry","category-es6jc"],"_links":{"self":[{"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/posts\/1914"}],"collection":[{"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/comments?post=1914"}],"version-history":[{"count":0,"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/posts\/1914\/revisions"}],"wp:attachment":[{"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/media?parent=1914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/categories?post=1914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bianchenghao6.com\/wp-json\/wp\/v2\/tags?post=1914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}