以下聲明函數的參數是代碼:爲什麼如果我傳遞的對象變成一個功能,我不需要在JavaScript
function createComparisonFunction(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 data = [{name: "Zachary", age: 28}, {name: "Nicholas", age: 29}];
data.sort(createComparisonFunction("name"));
alert(data[0].name);
data.sort(createComparisonFunction("age"));
alert(data[0].name);
正如你可以看到createCompatisonFunction填充值爲叫名和你可以看到這個函數裏面有object1和object2。我可以問一下這些論點通過什麼?你抓住我了嗎?