为了账号安全,请及时绑定邮箱和手机立即绑定

请问这代码object1和object2是怎么取得传进来的name属性值,引用过程是什么样的?新手求指教

请问这代码object1和object2是怎么取得传进来的name属性值,引用过程是什么样的?新手求指教

二娃3 2016-11-02 19:03:11
<!DOCTYPE html> <html> <head>     <title>Function returning Function Example</title>     <script type="text/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);  //Nicholas                  data.sort(createComparisonFunction("age"));         alert(data[0].name);  //Zachary             </script> </head> <body> </body> </html>
查看完整描述

3 回答

?
李晓健

TA贡献1036条经验 获得超461个赞

去看一下js的数组的sort方法,他里面可以接受一个function ,它在调用这个function时会传两个参数。 你的createComparisonFunction这个方法就返回的一个function,而你返回的这个function又需要接收两个参数,也就是object1和object2;  所以你这两个参数就是sort方法传给你的。

查看完整回答
1 反对 回复 2016-11-03
  • 3 回答
  • 2 关注
  • 1948 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信