日期:2014-05-16  浏览次数:20409 次

对象的比较问题
function createCoparisonFunction(propertyName){
return function(obj1,obj2){
var v1 = obj1[propertyName] ;
var v2 = obj2[propertyName];
return v1 - v2;
};
}

var data = [{name:"Nicolas" , age: 28},{name : "Zachary", age:27}];
data.sort(createCoparisonFunction("name"));
/*for(var i=0;i<data.length;i++){
alert(data[i].name);
}*/
alert(data[0].name);

data.sort(createCoparisonFunction("age"));

alert(data[0].name);



我想问下其中 var v1 = obj1[propertyName] ;
  var v2 = obj2[propertyName];
做何解释?有点不太明白。

希望高人指点下

------解决方案--------------------
obj[attr] 当attr是变量或者数字的时候,可以使用这种格式


比如这样是错误的
JScript code

    var obj = {
        1: 123
    }
    alert( obj.1 )