JS常用技巧

作者: osoLife | 来源:发表于2017-05-03 22:15 被阅读0次

    函数

    使用递归实现求阶乘

    function factorial(n){
      if(n==1){
        return 1;
      }else{
        return n*arguments.callee(n-1);
      }
    }
    alert(factorial(3)); // 6
    

    作用域

    模拟块级作用域

    function fn(){
        (function(){
            for(var i=0;i<3;i++){
                alert(i); //0,1,2
            }
        })(); // 匿名函数执行完变量i就从内存中释放了
        // alert(i);  // 这里是访问不到i的
    }
    fn();
    

    数组

    生成一个索引与值一一对应的数组(0-2)

    循环

    function fn(){
        var arr=[];
        for(var i=0;i<3;i++){
            arr[i]=i;
        }
        return arr;
    }
    alert(fn()); // 0,1,2
    

    循环+匿名函数

    function fn(){
        var arr=[];
        for(var i=0;i<3;i++){
            arr[i]=(function(n){
                return n;
            })(i);
        }
        return arr;
    }
    alert(fn()); // 0,1,2
    

    数组去重

    var arr=[1,2,2,5,8,10,5,6];
    for(var i=0;i<arr.length;i++){
        for(var j=i+1;j<arr.length;j++){
            if(arr[i]==arr[j]){
                arr.splice(j,1);
                j--;
            }
        }
    }
    alert(arr); // 1,2,5,8,10,6
    

    排序

    var arr=[1,21,12,5,8,10];
    arr.sort(function(a,b){
        return a-b; // 从小到大排序,若是b-a,则从大到小排序
    });
    alert(arr); // 1,5,8,10,12,21
    

    Math

    获取一个指定范围(闭区间)的随机整数

    function randomInt(min,max){        
      return Math.floor(Math.random()*(max-min+1))+min;
    }       
    alert(randomInt(2,5)); // 随机整数的范围:[2,5]
    

    结束语

    如果喜欢本文,记得点赞并加关注哟。

    相关文章

      网友评论

        本文标题:JS常用技巧

        本文链接:https://www.haomeiwen.com/subject/rkiltxtx.html