一些JS题目的解法

时间:2014-06-26 20:08:41   收藏:0   阅读:337

题目是从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;
}

一些JS题目的解法,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!