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

Javascript 匿名函数中的参数在命名函数中表示什么?,javascript,anonymous-function,Javascript,Anonymous Function,呃,我尽力解释我的问题是什么,对不起,我的英语不好。 在以下代码中: function createCompareFunction(propertyName){ return function(object1, object2){ var value1 = object1[propertyName]; var value2 = object2[propertyName]; if(value1 < value2){

呃,我尽力解释我的问题是什么,对不起,我的英语不好。 在以下代码中:

    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);
有object1和object2参数 但是,当我调用函数时,我没有定义参数,但是为什么它会自动知道它是数组中的对象呢

希望你知道我在说什么。谢谢

见。它告诉您在调用您传递给它的函数时它传递的参数(它当前正在排序的数组中的两个项)

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