博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

几道js题的解答

Posted on 2012-02-10 10:14  xuld  阅读(759)  评论(8编辑  收藏  举报

题目来自: http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html

原创答案,肯能和出题者的标准答案不同,但至少能实现目标。

 

 

 

  • 找出数字数组中最大的元素(使用Math.max函数)
Math.max.apply(Math, arr);
  • 转化一个数字数组为function数组(每个function都弹出相应的数字)
arr.map(function(xld){
return function(){return xld}
})
  •  给object数组进行排序(排序条件是每个元素对象的属性个数)
function count(o){var i = 0; for(var c in o){i++}return i};
arr.sort(function(a, b){return count(a) - count(b)})
  • 利用JavaScript打印出Fibonacci数(不使用全局变量)
function f(xld){ return xld < 2 ? 1 : f(xld - 1) + f(xld-2)}
  •     实现如下语法的功能:var a = (5).plus(3).minus(6); //2
Number.prototype.plus = function(xld){return this + xld};
Number.prototype.minus = function(xld){return this - xld};
  •     实现如下语法的功能:var a = add(2)(3)(4); //9
    function add(x){
    add.valueOf = add.toString = function(){return x}
    function add(y){ x+=y; return add}
    return add;
    }