gpt4 book ai didi

javascript - javaScript 中的类 C 代码片段定义

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:17 28 4
gpt4 key购买 nike

在 C 中,你可以这样做:

#define NESTEDFOR(i,j,n) for(i=0; i<n; i++) for(j=0; j<n; j++)

所以你可以使用NESTEDFOR(x,y,200)为了节省时间,因为它将被替换为 for(x=0; x<200; x++) for(y=0; y<200; y++)

我想在 JavaScript 中无法做到这一点,因为它是一种解释型语言,但我不确定。

有什么办法可以用 JavaScript 实现吗?

最佳答案

JavaScript 不支持完全等效的,但您可以将其定义为迭代器——类似于 iterator methods for Arrays :

function nestedFor(n, fn) {
for (var i = 0; i < n; i++) {
for (var j = 0; j < n; j++) {
if (false === fn(i, j)) {
return;
}
}
}
}

nestedFor(200, function (i, j) {
// etc.
// `return false` to stop looping
});

另外,一些参数验证的一个选项:

function nestedFor(n, fn) {
if (typeof n !== 'number' || !isFinite(n)) {
throw new TypeError('Invalid argument: Expected a finite number.');
}
if (typeof fn !== 'function') {
throw new TypeError('Invalid argument: Expected a function.');
}

// etc.
}

关于javascript - javaScript 中的类 C 代码片段定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16388095/

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