zoukankan      html  css  js  c++  java
  • JS学习

    继承

     <script type="text/javascript">
        Father.prototype.name="wangxinngyu";
        function inherit(Target,Origin){
           function F(){}
           F.prototype=Origin.prototype;
           Target.prototype=new F();
           Target.prototype.construct=Target;//构造器
           Target.prototype.uber=Origin;//uber=super
        }
        function Father(){}
        function Son(){}
        inherit(Son,Father);
        var father=new Father();
        var son=new Son();
    </script>
    
    //过时的继承
        <script type="text/javascript"> 
        Father.prototype.name='wangxingyu';
        function Father(){
    
        }
        function Son(){
    
        }
        function inherit(Target,Origin){
        Target.prototype=Origin.prototype;  
        }
        inherit(Son,Father);
        var father=new Father();
        var son=new Son();
        </script>

    数组去重

        <script type="text/javascript">
        var arr=[11,2,2,2,2,2,2,23,3,3,35,];
        Array.prototype.unique=function (){
         var temp={};
         var arr=[];
         var len=this.length;
         for(var i=0;i<len;i++){
            if(!temp[this[i]]){
                temp[this[i]]="a";
                arr.push(this[i]);
            }
         }
         return arr;
        }
        console.log(arr.unique())
        </script>

    闭包

        <script type="text/javascript">
        var arr=[];
        function test(){
        for(var i=0;i<10;i++){
            (function (j){
                arr[j]=function (){
               document.write(j+" " );
            } 
            }(i))
            }
            return arr;    
        }
        var myArr=test();
        for(var j=0;j<10;j++){
            myArr[j]();
        }
        </script>

    立即执行函数

     立即执行函数的集中表达方式: 1.(function(){}()) W3C建议 2.(function(){})() 

    浅度克隆

        <script type="text/javascript">
        var obj={
            nmae:'wnag',
            age:18,
            sex:'male',
            array:['gd','dasd'],
            wife:{
                name:'wajdb',
                son:{
                    name:'das'
                }
            }
        }
        var obj1={}
        function clone(origin,target){
          for(var prop in origin){
              target[prop]=origin[prop]
          }
        }
        clone(obj,obj1);
        </script>

    深度克隆

        <script type="text/javascript">
      var obj={
            nmae:'wnag',
            age:18,
            sex:'male',
            array:['gd','dasd'],
            wife:{
                name:'wajdb',
                son:{
                    name:'das'
                }
            }
        }
        var obj1={}
        function deepClone(origin,target){
        // var target=target||{};
        tostr=Object.prototype.toString;
        arr="[object,Array]";
        for(var prop in origin){
            if(origin.hasOwnProperty(prop)){
              if(typeof(origin[prop])=='object'){
                //  if(tostr.call(origin[prop])==arr){
                //       target[prop]=[]; 
                //       }else{
                //        target[prop]={};
                //            }
                tostr.call(origin[prop])==arr ?target[prop]=[]: target[prop]={};
                 deepClone(origin[prop],target[prop]);     
              }
            else{
            target[prop]=origin[prop];
            }
        }
        }
        }
        deepClone(obj,obj1);
        </script>
  • 相关阅读:
    shell脚本之数组
    shell脚本之函数
    shell脚本之sed
    shell脚本的for循环与read
    shell脚本之if语句
    shell脚本正则表达式
    shell的编程原理
    《梦断代码》阅读笔记03
    12.19学习总结
    《梦断代码》阅读笔记02
  • 原文地址:https://www.cnblogs.com/wxy0715/p/12442273.html
Copyright © 2011-2022 走看看