Return a function from a function
Description
function names in Javascript are variables, so functions can be used as value.
We can return a function as a value.
Example
function compareField(propertyName) {// w w w . ja v a2 s . c o m
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: "Java", age: 28},
{name: "XML", age: 29}];
data.sort(compareField("name"));
console.log(data[0].name);
console.log(data[1].name);
data.sort(compareField("age"));
console.log(data[0].name);
console.log(data[1].name);
The code above generates the following result.