首页 > 代码库 > JavaScript基础知识----六道有趣的Js基础题以及解答

JavaScript基础知识----六道有趣的Js基础题以及解答

题目:


1.找出数字数组中最大的元素(使用Math.max函数)
2.转化一个数字数组为function数组(每个function都弹出相应的数字)
3.给object数组进行排序(排序条件是每个元素对象的属性个数)
4.利用JavaScript打印出Fibonacci数(不使用全局变量)
5.实现如下语法的功能:var a = (5).plus(3).minus(6); //2
6.实现如下语法的功能:var a = add(2)(3)(4); //9



解答:
1.

  1. var a = [10,1,2,3,4,8,9];function max(a){                        var len = a.length-1;                        var maxnum=a[len];                        while (len--) {                 maxnum=Math.max(maxnum,a[len])                        }                        return maxnum;                }                alert(max(a));

     

另解:

  1. function getArrMax(){                return Math.max.apply(null,a);                }

     

2.  

  1. var getNumFun = [];        function toFun(a){           var len = a.length;           while (len--) {                      (function(i){                  getNumFun[i] = function(){                          alert(a[i]);                  }                      }                      )(len);                                 }        }/*        toFun(a);        getNumFun[5]();          */

     

3.

var objarr = [      {a:2,b:1},      {d:5},      {a:1,b:2,c:3} ];function rule(o1,o2){       var sizeObj = function(obj){          var size=0;          for(var i in obj) size++;          return size;       }       return sizeObj(o1) - sizeObj(o2);    }/*    objarr.sort(rule);    console.log(objarr[0]);        */

 

4.

  1. function Fib(n){       if(n===1||n===2){return 1;}       else return Fib(n-1)+Fib(n-2);     }/*    console.log(Fib(10));   */

     

5.

  1. Number.prototype.plus = function(x){     return this+x;    }    Number.prototype.minus = function(x){     return this-x;    }/*    console.log((5).plus(3).minus(6));  */


6.

  1. function add(num){  var self = arguments.callee;  num += ~~self;  self.num = num;  return self;  }  add.valueOf = add.toString = function(){return add.num};/* console.log(add(5)(8)); */

     

 

 

JavaScript基础知识----六道有趣的Js基础题以及解答