Эмм, я изо всех сил пытался объяснить, в чем моя проблема, извините за плохой английский.
В следующем коде:
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
но когда я вызываю функцию, я не определяю аргументы, но почему он автоматически знает, что это объект в массиве.
Надеюсь, ты знаешь, о чем я говорю. Спасибо !!