【发布时间】:2020-07-19 13:14:53
【问题描述】:
众所周知,JavaScript 通常允许以下格式的内联 for 循环:
someArray.forEach(x => x.doSomething());
但是,当一个人想要使用常规的 for 循环内联作为一个语句时,就会发生错误。例如:
void(for(var i = 0; i < 0; i++) console.log(i));
尽管这在技术上是一行,但由于它以字面上是内联的格式使用,并且被视为一个语句,它会给出错误:
Uncaught SyntaxError: Unexpected token 'for'
为什么要这样做?简单:为了在一行中生成一个数组,或者字符串,例如:
var newString = (let k = "", for(let i = 0; i < 1000; i++) k+= i, k);
但这给出了一个明显的
Uncaught SyntaxError: Unexpected identifier
错误,因为“let”关键字,但是that's a different question。
主要是,是否可以在 JavaScript 中进行常规的 for 循环内联?
【问题讨论】:
-
您可以随时使用 IIFE。
-
@Bergi 那是什么
标签: javascript arrays string for-loop inline