匿名函数中的参数在命名函数中表示什么?

问题描述

| 嗯,我尽力解释我的问题,对不起,英语不好。 在下面的代码中:
    function createCompareFunction(propertyName){

    return function(object1,object2){
       var value1 = object1[propertyName];
       var value2 = object2[propertyName];

       if(value1 < value2){
          return -1;
       }else if(value1 > value2){
          return 1;
       }else{
          return 0;
       }

    };


}

var person = [{name: \"Nicholas\",age: 29},{name: \"Alex\",age: 34}];
person.sort(createCompareFunction(\"name\"));
alert(person[0].name);
如您在此范围中看到的:
 return function(object1,object2){
   var value1 = object1[propertyName];
   var value2 = object2[propertyName];
有object1和object2参数 但是,当我调用函数时,我没有定义参数,但是为什么它会自动知道它是数组中的对象。 希望你知道我在说什么。谢谢!!     

解决方法

请参阅规格说明。它告诉您在调用传递给它的函数时传递了哪些参数(它们是当前正在排序的数组中的两项)。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...