收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1500|回复: 1

请帮忙解惑下这个函数问题...

[复制链接]
发表于 2012-9-10 19:40:33 | 显示全部楼层 |阅读模式
题一:
function compare(value1, value2) {
  return value1 - value2;
}

values = [0, 15, 10];
values.sort(compare);
alert(values);

题二:
function creatComparisonFunction(propertyName) {
  return function(object1, object2) {
    var value1 = object[propertyName];
    var value2 = object[propertyName];

    if (value1 < value2) {return -1;}
    else if (value1 > value2) { return 1;}
    else {return 0;}
  };
}

var data = [{name: "AAA", age: 28}, {name: "bbb", age: 29}] ;
data.sort(createComparisonFunction("name"));
alert(data[0].name);

请问下题一蓝色字sort里面为什么只调用函数名compare而不使用compare(),加了括号反而会错误?而题2的sort里面却可以直接调用一个函数,而不是函数名?请帮忙解惑下,谢谢...
发表于 2012-9-14 23:27:44 | 显示全部楼层
第一个比较简单   就是一个函数里面带有参数  主要是比较大小的函数
第二个就是涉及到面向对象的函数,用面向对象函数简化这些代码,还涉及到组数。不好解释就是知道怎么去用这些,建议你从基础开始学习的。
回复 支持 反对

使用道具 举报

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-9-29 16:31 , Processed in 0.093513 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表