Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为子级创建自定义循环:例如,重复(5){//要执行5次的代码}_Javascript - Fatal编程技术网

Javascript 为子级创建自定义循环:例如,重复(5){//要执行5次的代码}

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)(

我试图通过编写一些帮助函数来简化在JS和p5.JS中向孩子们介绍循环的过程,以简化困难的事情。我的目标是类似于
重复(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函数似乎是一种简单的方法。