Javascript 这个参数是如何知道参数的
我对元素如何得到arr的值感到困惑Javascript 这个参数是如何知道参数的,javascript,parameters,arguments,Javascript,Parameters,Arguments,我对元素如何得到arr的值感到困惑 函数长度大于(num){ 函数lenggreaterthanum(elem){ 返回elem.length>num; } 返回lengtherthannum; } 让arr=['Justin','caterpillar','openhome']; 控制台日志(arr.filter(长度大于(6))这是一种非常令人困惑的编写方法,但本质上,您只是将一个参数包含到过滤器函数中的函数 在这里,这将做同样的事情: console.log(arr.filter((el
函数长度大于(num){
函数lenggreaterthanum(elem){
返回elem.length>num;
}
返回lengtherthannum;
}
让arr=['Justin','caterpillar','openhome'];
控制台日志(arr.filter(长度大于(6))代码>这是一种非常令人困惑的编写方法,但本质上,您只是将一个参数包含到过滤器函数中的函数
在这里,这将做同样的事情:
console.log(arr.filter((elem) => {
return elem.length > 6;
}));
lenggreaterthanm(6)
计算为函数lenggreaterthanum(elem){return elem.length>6;}
。此函数被传递给.filter()
,它为数组的每个元素调用一次,并将该元素作为第一个参数传递。编写一个由API而不是自己调用的函数需要花费一些时间,但它最终会单击;)了解闭包、、。。。谢谢你们,这很有帮助!事实上,这并不相同,OP的代码利用了闭包的优点,它们可以重用相同的函数根据不同的长度进行过滤,而您已经硬编码了长度以进行比较。这不是我的意思,代码示例只是解释了它在这个特定示例中的最终计算结果。6可能仍然是一个变量或什么的@Teemu@TeemuOP的代码使用两个独立的概念,a)闭包b)编写API方法调用的函数。当我读到问题时,OP主要与b)斗争,而不是a),但我可能错了