首页 > 代码库 > 一些JS题目的解法
一些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;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。