• 浅谈javascript中Json方式与闭包式


    闭包方式:
       var Person = function()
       {
     this.init = funtion()
         { initDom();
           initEvent(); 
                 }
     
     function initDom ()
     {}
     
     function initEvent()
     {}  
       }

    //使用时
    var per = new Person();
    per.init();
    闭包,就是要实现非侵入DOM脚本编程,关于非侵入DOM脚本编程优势大家可以网上查.关键看起来更像是一个类与对象概念,很好实现了私有方法与共公方法隔离。如果我们不需要它在被new时执行,定义后就执行完全可以匿名它,就是一个单例

    (function(){
       function initDom(){}
       function initEvent() {}
       return{
          init:function(){initDom();initEvent(); } 
     }  
    })();
    如果是带参数的 如何做?
    (function(k,m){
       function initDom(){alert(k);}
       function initEvent() {alert(m);}
       initDom();
       initEvent();
      
    })(11,12);
    *在函数声明后面加上括号就表示创建完成后立即进行函数调用

    Json格式:

    var Person = {init:function(){},initDom:function() {},
      initEvent:function() {} };
    访问Person.init(),我们不能new它出来。因为Person本身已经是Object了

    考虑以下:
    alert(typeof(Function))); 
    alert(typeof(new Function())); 
    alert(typeof(Array)); 
    alert(typeof(Object)); 
    alert(typeof(new Array())); 
    alert(typeof(new Date())); 
    alert(typeof(new Object())); 
    前四个显示function 后三个是object,Json本身是object了,而指定一个function的变量是可以被new的

    *Function 与function 可以理解为 function是一个 New Function 的实例
    *而var fun = new function() 可以理解为fun是一个指向变量
     Json格式也被可以构造成一个类方式,就需要prototype,这个以后讨论


     

  • 相关阅读:
    Linux_进程之间的通信
    Linux_控制作业(管理)
    Linux_进程管理相关命令
    Linux_进程管理的基本概述
    文本编辑_Vim&Vi
    Linux_权限管理理论概述
    Linux_用户和组管理
    Linux_ACL文件访问控制列表
    72. VUE axios 配置信息相关
    71. VUE axios 发送并发请求(多个)
  • 原文地址:https://www.cnblogs.com/shouhongxiao/p/2013424.html
Copyright © 2020-2023  润新知