zoukankan      html  css  js  c++  java
  • 【javascript设计模式】构造器模式、模块模式、单例模式

    构造器模式(Constructor)

    构造器模式是学习js最早接触的一种,实现主要如下:

    1 function myObject(name){
    2   this.name = name;    
    3 }
    4 
    5 myObect.propotype = function sayName(){
    6   alert(this.name);  
    7 }

    使用的时候需要new一个对象。

    1 var myObj = new myObject('hello');
    2 myObj.sayName();

    模块模式(Module)

    模块模式主要用匿名函数、闭包形成一个可以拥有私有变量的环境,暴露接口给外部。传说中的模块化。

     1 var myObject = (function($){
     2     var myName = ''; //私有变量
     3     var sayName = function(){
     4         alert(myName);
     5     };
     6     return{
     7         setName : function(name){
     8              myName = name;
     9         },
    10         sayName : sayName
    11     }
    12 })(jQuery);

    使用的时候拿来模块直接用就行了

    1 myObject.setName('hello');
    2 myObject.sayName();

    单例模式(Singleton)

    单例模式可保证类只有一个实例,对象字面量就是单例模式的一种实现,另外也有。

     1 var myObject = (function(){
     2     var instance; //实例持有者
     3     function init( name ){
     4         var myname = name;
     5         var sayName = function(){
     6             alert(myname);
     7         };
     8         return {
     9             sayName : sayName
    10         };
    11     };
    12     return {
    13       getInstance : function(name){
            return instance || instance = init(name); 18     } 19 } 20 })(jQuery);

    调用的时候

    1 var instan = myObject.getInstance('hello');
    2 instan.sayName();
  • 相关阅读:
    结果可视化——Matplotlib.pyplot
    退役后的分治练习
    RNN姓氏分类:官方教程翻译
    libtorch使用笔记
    俄罗斯方块
    Flask使用笔记
    JQuery入门笔记
    glibc升级小记
    cvm母机宕机重启后数据库修复
    借用smtp.qq.com发邮件
  • 原文地址:https://www.cnblogs.com/it-snail/p/3797124.html
Copyright © 2011-2022 走看看