Javascript 为子级创建自定义循环:例如,重复(5){//要执行5次的代码}
我试图通过编写一些帮助函数来简化在JS和p5.JS中向孩子们介绍循环的过程,以简化困难的事情。我的目标是类似于Javascript 为子级创建自定义循环:例如,重复(5){//要执行5次的代码},javascript,Javascript,我试图通过编写一些帮助函数来简化在JS和p5.JS中向孩子们介绍循环的过程,以简化困难的事情。我的目标是类似于重复(5){//code要执行5次} 高阶函数也可以实现类似的功能,但它并不像我希望的那样简单/透明 例如: function repeat(n = 1) { let i = 0; return fn => { while(n--) { i++; fn(i) } } } // example usage: repeat(10)(
重复(5){//code要执行5次}
高阶函数也可以实现类似的功能,但它并不像我希望的那样简单/透明
例如:
function repeat(n = 1) {
let i = 0;
return fn => {
while(n--) {
i++;
fn(i)
}
}
}
// example usage:
repeat(10)(i => {
console.log('floop boop', i)
})
但是使用和卷发会让孩子们感到困惑。我知道while循环是一个方向,但它的方向与重复循环的方向相反。这是推动它们的方向,但对于编码的第一天来说可能并不理想
最终我们可以使用它,比如:
let i = 0;
repeat(10){
i++
console.log('we are repeating and we're on iteration number ', i)
}
如果您正在教授JavaScript,您将无法避免使用一流函数。首先,我将创建一个名为
repeat
的方法,它需要多次重复,并且函数的行为需要重复
function repeat(times, fn) {
var i = 0;
while(times--) {
i++;
fn(i);
}
}
repeat(10, function(i) {
console.log('we are repeating and we\'re on iteration number ', i);
});
我同意高阶函数可能会令人困惑。在这两种情况下,都不需要函数来教循环。我使用的是Coffescript和p5 对于范围为10的i 矩形20*i,20,10,10 范围的定义与下划线中的定义相同 不带冒号的Python缩进
P5dojo.com是我的网站。
Array(n).map(()=>///code)
这比基本的循环更令人费解。如果你有lodash,有一个\uuuuz
方法可以做到这一点。此外,您可以使用map
或forEach
,但请确保数组已填充,否则它将无法工作。例如:Array(100).fill(未定义).forEach(()=>{/*stuff*/})
我必须强调匿名函数不是第一天的材料,它会让你的学生感到困惑!教他们正确的基础知识——变量、条件、循环、函数,然后进入更高级的工作,如匿名函数等。如果你想沿着函数路线走下去,你可以尝试在循环之前引入递归。当使用p5.js之类的工具进行渲染时,你不需要马上教函数,最终是的,但不是马上。我们如何在一个为期一天的研讨会上,向一群7岁的孩子讲述循环的概念?拥有repeat函数似乎是一种简单的方法。