gpt4 book ai didi

javascript - 如何在 JavaScript 中执行内联 for 循环,该循环未连接到变量

转载 作者:行者123 更新时间:2023-12-01 16:10:26 26 4
gpt4 key购买 nike

众所周知,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 (立即调用函数表达式):

let newString = (() => {let concatenatedString = ''; for (let i = 0; i < 1000; i++) {concatenatedString+= i;} return concatenatedString;})();

console.log(newString);



关于 IIFE 的进一步阅读:
  • https://developer.mozilla.org/en-US/docs/Glossary/IIFE
  • 关于javascript - 如何在 JavaScript 中执行内联 for 循环,该循环未连接到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61078448/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com