javascript - 求问一个数组sort方法的问题
本文介绍了javascript - 求问一个数组sort方法的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
这个例子是我在网上看到的例子:
<script type="text/javascript">
var objectList2 = new Array();
function WorkMate(name, age) {
this.name = name;
var _age = age;
this.age = function() { //我实在是没有看懂这里为什么要添加这样一个方法
if(!arguments) { //如果没有实参传入
_age = arguments[0]; //那_age的值为实参的第一个的值 **没有实参传入,哪来的第一个值?**
} else {
return _age;
}
}
}
objectList2.push(new WorkMate('jack', 20));
objectList2.push(new WorkMate('tony', 25));
objectList2.push(new WorkMate('stone', 26));
objectList2.push(new WorkMate('mandy', 23));
//按年龄从小到大排序
objectList2.sort(function(a, b) {
return a.age() - b.age();
});
for(var i = 0; i < objectList2.length; i++) {
document.writeln('<br />age:' + objectList2[i].age() + ' name:' + objectList2[i].name);
}
</script>
当中这段我备注的我不知道我理解的对吗 ,麻烦大神帮我看一下,中间arguments那里怎么理解,还有这个方法到底有什么用呢?谢谢
解决方案
function a(){
console.log(!arguments);
}
a()//false
a(1)//false
那个if判断貌似没鸟用……arguments是function必备的,不管你有没有传入参数。
这篇关于javascript - 求问一个数组sort方法的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文