矢口╰+雲℡淡 发表于 2013-10-7 23:19:46

新手求帮忙解惑

function CompareFunction(propertyName){
functionCompare(object1,object2)
{
var value1=object1;
var value2=object2;
if(value1<value2){return -1;}
else if(value1>value2){return 1;}
else {return 0;}

}
return(Compare());
}
var data=[{name:"Zachary",age:"28"},{name:"Nicholas",age:29}];
data.sort(CompareFunction('name'));
alert(data.name);
data.sort(CompareFunction('age'));
alert(data.name);
这段代码错误在哪里?求解惑改成一下代码就能运行了为什么?
function CompareFunction(propertyName){
return function (object1,object2)
{
var value1=object1;
var value2=object2;
if(value1<value2){return -1;}
else if(value1>value2){return 1;}
else {return 0;}

};
/*return(Compare());*/
}
var data=[{name:"Zachary",age:"28"},{name:"Nicholas",age:29}];
data.sort(CompareFunction('name'));
alert(data.name);
data.sort(CompareFunction('age'));
alert(data.name);

565123 发表于 2013-10-10 13:15:25

这里是Java,不是JavaScript。你来错地方了

565123 发表于 2013-10-10 13:27:15

Compare函数的两个参数都是undefined,当然没有propertyName的这个属性,理所当然出错了
页: [1]
查看完整版本: 新手求帮忙解惑