zoukankan      html  css  js  c++  java
  • js自定义函数总结

    js自定义函数总结

    1、编写一个方法 求一个字符串的字节长度

    演示代码:

    new function(s){ 
            if(!arguments.length||!s) return null;  
            if(""==s) return 0;     
            var l=0;
            for(var i=0;i<s.length;i++){        
                if(s.charCodeAt(i)>255) l+=2; else l++;     
            }   
            alert(l); 
    }("hello world!"); 
    

    2、按照格式 xxxx年xx月xx日xx时xx分xx秒动态显示时间 要求不足10的补0

    演示代码:

    <script type="text/javascript" language="javascript">   
    function tick(){
            var d=new Date();
            var t=function(a){return a<10?"0"+a:a;}
            Clock.innerHTML=d.getFullYear()+"年"+t(d.getMonth()+1)+"月"+t(d.getDate())+"日"+t(d.getHours())+"时"
            +t(d.getMinutes())+"分"+t(d.getSeconds())+"秒";
            window.setTimeout("tick()",1000);
       }
    window.onload=tick;
    </script>
    
    <body>
    <div id="Clock"></div>
    </body>  
    

    3、编写一个方法 去掉一个数组的重复元素

    演示代码:

    Array.prototype.strip=function(){   
        if(this.length<2) return [this[0]]||[];     
        var arr=[];     
        for(var i=0;i<this.length;i++){         
            arr.push(this.splice(i--,1));//将本数组中第一个元素取出放入到数组arr中        
            for(var j=0;j<this.length;j++){             
                if(this[j]==arr[arr.length-1]){                 
                    this.splice(j--,1);//删除本数组中与数组arr中最后一个元素相同的元素
                }       
            }   
        }
        return arr;
    }
    
    var arr=["abc",85,"abc",85,8,8,1,2,5,4,7,8];   
    alert(arr.strip());  
    

    4、为Array写一个indexof方法

    演示代码:

    Array.prototype.indexOf = function(e){
        for(var i=0,j; j=this[i]; i++){
            if(j==e){return i;}
        }
        return -1;
    }
    
    Array.prototype.lastIndexOf = function(e){
        for(var i=this.length-1,j; j=this[i]; i--){
            if(j==e){return i;}
        }
        return -1;
    }
    
    var arr=[1,2,3,4,5];
    alert(arr.indexOf(5));  
    

    5、用javascript写一个杨辉三角形

    演示代码:
    <!DOCTYPE html>

    </head>
    <body>
    
        <!--  直接传入希望得到的杨辉三角的行数   -->
        <input value="杨辉三角" type="button" onclick="Pascal(10);" />
    
    
    
    <script type="text/javascript">
        function Combination(m,n){
            if(n == 0){return 1;}  //每行第一个数为1
            else if(m == n){return 1;} //最后一个数为1
            //其余都是相加而来
            else{
                return Combination(m-1,n-1)+Combination(m-1,n)};
        }
        function Pascal(n){   //杨辉三角,N为行数
            for( var i = 0 ; i < n ; i++ ){   //一共N行
                for ( var j = 0 ; j <= i ; j++ ) {  //每行数字的个数即为行号、例如第1行1个数、第2行2个数
                    document.write(Combination(i,j)+"  ");
                }
                document.write("<br/>");
            }
        }
    
    </script>
    </body>
    </html>
  • 相关阅读:
    git让线上代码强制覆盖本地的
    redis连接时报错:Could not connect to Redis at 127.0.0.1:6379: Connection refused
    Apache使用内置插件mod_php解析php的配置
    Apache2.4+PHP7.2配置站点访问变下载
    Linux下查看某一进程所占用内存的方法
    SNMP监控一些常用OID的总结
    kafka 生产消费原理详解
    HttpServletRequest接收参数的几种方法
    【转载】idea 2018注册码(激活码)永久性的
    SecureCRT & SecureFx 绿色破解版
  • 原文地址:https://www.cnblogs.com/haonantong/p/4694658.html
Copyright © 2011-2022 走看看