一些JS题目的解法
题目是从http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html看到的。
答案参考了文章的评论,也有自己的一些改进。
1.找出数字数组中最大的元素(使用Mach.max函数)
Math.max.apply(null,[1,2,3]);
2.转化一个数字数组为function数组(每个function都弹出相应的数字)
[1,2,3].map(function(x){return function(){return x;};});
3.给object数组进行排序(排序条件是每个元素对象的属性个数)
[{a:0,b:1},{a:0}].sort(function(a, b){return Object.keys(a).length - Object.keys(b).length;});
4.利用JavaScript打印出Fibonacci数(不使用全局变量)
(function(x){return x <= 1 ? 1 : arguments.callee(x-1) + arguments.callee(x-2);})(5);
5.实现如下语法的功能:var a = (5).plus(3).minus(6); //2
Number.prototype.plus = function(x){return this + x;}; Number.prototype.minus = function(x){return this - x;};
6.实现如下语法的功能:var a = add(2)(3)(4); //9
function add(x){
add.sum = add.sum ? add.sum += x : x;
return add;
}
add.toString = add.valueOf = function(){
return this.sum;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。