【发布时间】:2018-01-05 18:04:05
【问题描述】:
为什么声明返回未定义?他们有什么技术原因吗?
如果声明返回其变量的值,一个好处是我可以编写如下内容:
while((var next = generator.next())) doSomething(next);
由于规范,我需要在它不属于的范围内声明下一个。
(注意:有没有更好的地方问这个问题?这个问题可能是有争议的,而不仅仅是技术问题。)
【问题讨论】:
-
据我所知他们确实返回了值,否则你将无法做到
a = b = c = 5 -
“由于规范,我需要在不属于它的范围内声明下一个。” 可以使用块范围,见Prevent JavaScript closure from inheriting scope
-
Balint 是分配,而不是声明。不幸的是,它们是不同的东西,这就造成了这个复杂的问题。
标签: javascript