js 中的问题,帮我解决一下,谢谢!

function cleanLinks(urls, base) {

  return utils.unique(urls).filter(function(url) {

    return url.indexOf(baseUrl) === 0 || !new RegExp('^(#|ftp|javascript|http)').test(url);

  }).map(function(url) {

    return absPath(url, base);

  }).filter(function(url) {

    return checked.indexOf(url) === -1;

  });

这里的返回值总是调用function(url) 这里的调用过程是怎么样的?

梵蒂冈之花
浏览 503回答 2
2回答

小怪兽爱吃肉

function(url) 只是一个匿名函数,作为filter、map方法的回调函数

炎炎设计

给你举个原生map实现的例子:myMap实际就是for循环的回调函数<script>&nbsp; &nbsp; // 添加一个myMap函数&nbsp; &nbsp; Array.prototype.myMap = function (callback) {&nbsp; &nbsp; &nbsp; &nbsp; for(var a=0; a<this.length; a++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; callback && callback(this[a]);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; };&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; //添加一个测试数据&nbsp; &nbsp; var testArr = ['张三','李四','王五'];&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; // 测试myMap&nbsp; &nbsp; testArr.myMap(function (userName) {&nbsp; &nbsp; &nbsp; &nbsp; //第一次:张三&nbsp; &nbsp; &nbsp; &nbsp; //第二次:李四&nbsp; &nbsp; &nbsp; &nbsp; //第三次:王五&nbsp; &nbsp; &nbsp; &nbsp; console.log(userName);&nbsp; &nbsp; });</script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript