function unless(test, then) {
if (!test) then();
}
repeat(3, n => {
unless(n % 2 == 1, () => {
console.log(n, "is even");
});
});
//→0是偶数
//→2是偶数
答案 0 :(得分:0)
您要向函数传递两个参数,除非一个为RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^html\/(.*)\.pdf$ https://www.example.com/documents/$1.pdf [R=301,L]
RewriteRule ^html\/(.*)\.jpg$ https://www.example.com/images/$1.jpg [R=301,L]
,另一个为Boolean
function
这里unless(n % 2 == 1, () => {
console.log(n, "is even");
});
是第一个参数,n % 2 == 1
是第二个参数
,并且在您的函数中,除非
() => console.log(n, "is even"); }
我们首先检查测试是否为假,而不是仅运行作为参数传递的函数
答案 1 :(得分:0)
我刚刚意识到重复功能是在本章之前预定义的。
function repeat(n, action) {
for (let i = 0; i < n; i++) {
action(i);
}
}
repeat(3, console.log);
// → 0
// → 1
// → 2
这就是为什么它从n = 0开始的原因,因为在循环中i初始化为0,并且只要i小于n,就对函数求值。