zoukankan      html  css  js  c++  java
  • js拾遗

    1.找出数字数组中最大的元素(使用Match.max函数)
    Math.max.apply(null, [1,2,3]);

    2.转化一个数字数组为function数组(每个function都弹出相应的数字)

    function transition(numArray) {
      var num;
      for (var i = 0, len = numArray.length; i < len; ++i) {
        num = numArray[i];
        numArray[i] = (function (j) {
          return function() {alert(j);}
        }(num));
      }
    }



    3.给object数组进行排序(排序条件是每个元素对象的属性个数)


    4. 实现如下语法的功能:var a = (5).plus(3).minus(6); //2

    Number.prototype.plus=function(a){
        return this+a;
        }
    Number.prototype.minus=function(a){
        return this-a;
        }
    var a = 5;
    b=a.plus(3).minus(6);
    console.log(b);



    5. 实现如下语法的功能:var a = add(2)(3)(4); //9

    function add(a) {
      return function(b) {
         a += b;
         return function(c) {
           return a +=c;
         }
      }
    }



    6.利用JavaScript打印出Fibonacci数(不使用全局变量)
    ps:Fibonacci数 1 1 2 3 5 8
    代码一:

    function fib(num){
        if(num==1 || num==2){
            return 1;
            }
            return arguments.callee(num-1) + arguments.callee(num-2);
        }



    代码二:

    var fib = (function() {
      var array = [];
      
      return function(n) {
       if (array[n]) return array[n];
        
        if (n < 1) {
          array[n] = 0;
        } else if (n == 1 || n == 2) {
          array[n] = 1;
        } else {
          array[n] = fib(n-1) + fib(n-2);
        }
        
        return array[n];
      }
    })();



    代码三:

    var fib = function(n) {
       if (fib[n]) return fib[n];
        
        if (n < 1) {
          return 0;
        } else if (n == 1 || n == 2) {
          fib[n] = 1;
        } else {
          fib[n] = fib(n-1) + fib(n-2);
        }
        
        return fib[n];
    };

    代码二,代码三性能较高,内部缓存了一个斐波那契数列的数组,如果之前计算过某个数,就直接返回,不用重新计算了




  • 相关阅读:
    C#仿QQ设置界面导航
    C#Winform之等待窗体
    《DevExpress》记录之TreeList
    winform窗体取消最大化双击标题最大化
    微信链接非80端口问题解决方案(伪处理)
    《微信企业号开发日志》之接收普通消息
    《微信企业号开发日志》本地调试程序四
    Jmeter取数据库数据进行参数传递
    洛谷 P1969 积木大赛
    洛谷 P1414 又是毕业季II(未完成)
  • 原文地址:https://www.cnblogs.com/czyblog/p/4288548.html
Copyright © 2011-2022 走看看