• 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];
    };

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




  • 相关阅读:
    DOS批量递归删除文件夹
    根据关键词kill进程
    docker创建镜像的几个命令
    OpenSSL命令---passwd
    A configuration with this name already exists
    查看Linux版本
    ubuntu初次安装后设置root用户密码
    [转载]气象数据集下载网站(包括中国700多个站)
    将界面从屏幕外拖回来方法
    使用GitHub分享代码
  • 原文地址:https://www.cnblogs.com/czyblog/p/4288548.html
Copyright © 2020-2023  润新知