下面的函数是用于arr.sort()的比较函数
function compare(a,b)
{
var prop = "abc";
var aProp = getValOfProp(a, prop);
var bProp = getValOfProp(b, prop);
return aProp>bProp?1:(aProp==bProp?0:-1)
}
(getValOfProp是对比较数操作的一个函数,可以忽略)
现在有个问题
变量prop能否通过增加compare函数的参数个数的方式从外部传入(除了使用全局变量),即定义类似
function compare(a,b,prop)
并在外部使用arr.sort(compare)调用?
function compare(a,b)
{
var prop = "abc";
var aProp = getValOfProp(a, prop);
var bProp = getValOfProp(b, prop);
return aProp>bProp?1:(aProp==bProp?0:-1)
}
(getValOfProp是对比较数操作的一个函数,可以忽略)
现在有个问题
变量prop能否通过增加compare函数的参数个数的方式从外部传入(除了使用全局变量),即定义类似
function compare(a,b,prop)
并在外部使用arr.sort(compare)调用?
arr.sort(
(function(prop){
return function(a,b){
var aProp = getValOfProp(a, prop);
var bProp = getValOfProp(b, prop);
return aProp>bProp?1:(aProp==bProp?0:-1)
}
})("abc")
);
function compare(){
alert(arguments.callee.arg);
}
var a = [1, 2];
compare.arg = 5;
a.sort(compare);
</script>
http://download.csdn.net/source/308916DHTML参考手册.rar
http://download.csdn.net/source/308913样式表中文手册.chm
http://download.csdn.net/source/304124