JavaScript设计模式中构造函数模式的介绍

这篇文章主要介绍了javascript设计模式构造函数模式,结合实例形式分析了构造函数模式的概念、功能、定义及使用方法,需要的朋友可以参考下

本文实例讲述了JavaScript设计模式之构造函数模式。分享给大家供大家参考,具体如下:

一、构造函数模式概念

构造函数用于创建特定类型的对象——不仅声明了使用过的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。

在JavaScript里,构造函数通常是认为用来实现实例的,JavaScript没有类的概念,但是有特殊的构造函数。通过new关键字来调用自定义的构造函数,在构造函数内部,this关键字引用的是新创建的对象。

二、构造函数模式的作用和注意事项

模式作用:

1.用于创建特定类型的对象

立即学习“Java免费学习笔记(深入)”;

2.第一次声明的时候给对象赋值

3.自己声明构造函数,赋予属性和方法

注意事项:

1.声明函数的时候处理业务逻辑

2.区分和单例的区别,配合单例实现初始化

3.构造函数大写字母开头

三、构造函数模式代码和实战总结

nbsp;html>    构造函数模式<!--  function Car(model,year,miles){    if(!(this instanceof Car)){      return new Car(model,year,miles);    }    this.model = model;    this.year = year;    this.miles = miles;    this.output = function(){      return this.model + "走了" + this.miles + "公里";    }  }  var tom = new Car("大叔",2009,20000);  var dudu = Car("Dudu",2010,5000);  console.log(typeof tom);  console.log(tom.output());  console.log(typeof dudu);  console.log(dudu.output());-->  //1.用于创建特定类型的对象  //2.这样的函数名会被人笑话  //3.js开发的时候写单引号  //4.js里构造函数比较特殊的地方 new  //5.其他的语言里 比如PHP 里人家实现 有一个关键字 A class  //6.zaomen就是构造函数 他又充当了类的概念  var AA = {    zaomen:function(huawen) {      if (!(this instanceof AA.zaomen)) {        console.log(123);        return new AA.zaomen(huawen);      };      var _huawen = "普通";      if (huawen) {        _huawen = huawen;      }      this.suo = "普通";      this.huawen = _huawen;      this.create = function () {        return "【锁头】" + this.suo + "【花纹】" + this.huawen;      }    }  };  var BB = {    zaomen:function(huawen,suo) {      if (!(this instanceof BB.zaomen)) {        return new BB.zaomen(huawen,suo);      };      var _huawen = "普通";      if (huawen) {        _huawen = huawen;      }      this._suo = "普通";      if (suo) {        _suo = suo;      }      this.suo = _suo;      this.huawen = _huawen;      this.create = function () {        return "【锁头】" + this.suo + "【花纹】" + this.huawen;      }    }  };  /*function zaomen(huawen){    if(!(this instanceof zaomen)){      return new zaomen();    }    var _huawen = "普通";    if(huawen){      _huawen = huawen;    }    this.suo = "普通";    this.huawen = _huawen;    this.create = function(){      return "【锁头】" + this.suo + "【花纹】" + this.huawen;    }  }*/  var xiaozhang = AA.zaomen();  alert("xiaozhang" + xiaozhang.create());  var xiaoli = BB.zaomen("绚丽",'123');  alert("xiaoli" + xiaoli.create());

登录后复制

运行效果如下:

JavaScript设计模式中构造函数模式的介绍

JavaScript设计模式中构造函数模式的介绍

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

JavaScript设计模式中工厂的介绍

JavaScript设计模式中代理模式的介绍

以上就是JavaScript设计模式中构造函数模式的介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2747390.html

(0)
上一篇 2025年3月8日 04:21:13
下一篇 2025年2月27日 19:00:13

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript设计模式中工厂的介绍

    这篇文章主要介绍了javascript设计模式之工厂模式,结合完整实例形式分析了工厂模式的概念、原理及javascript定义与使用工厂模式的相关操作技巧,需要的朋友可以参考下 本文实例讲述了JavaScript设计模式之工厂模式。分享给大…

    2025年3月8日
    000
  • JavaScript同源策略和跨域访问的介绍

    这篇文章主要介绍了javascript同源策略和跨域访问,结合实例形式较为详细的分析了javascript同源策略与跨域访问的原理、实现、使用方法及相关注意事项,需要的朋友可以参考下 本文实例讲述了JavaScript同源策略和跨域访问。分…

    编程技术 2025年3月8日
    200
  • 关于javascript中的变量提升和函数提升

    这篇文章主要介绍了详解javascript中的变量提升和函数提升的相关资料,需要的朋友可以参考下 1在js中只有两种作用域 a:全局作用域 b:函数作用域 在ES6之前,js是没有块级作用域。 立即学习“Java免费学习笔记(深入)”; 首…

    2025年3月8日 编程技术
    200
  • JavaScript中getter和setter的介绍

    这篇文章主要介绍了关于javascript中getter和setter的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 对象的属性是由属性名name,值key,和其他特性(可读写性 writable,可枚举性enumer…

    2025年3月8日 编程技术
    200
  • JS浏览器事件循环机制

    这篇文章主要介绍了关于js浏览器事件循环机制,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 先来明白些概念性内容。 进程、线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。 线程…

    2025年3月8日
    200
  • 用Node处理文件上传

    这篇文章主要介绍了关于用node处理文件上传,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 在Web开发中,文件上传是一个非常常见、非常重要的功能。本文将介绍如何用Node处理上传的文件。 需求分析 由于现在前后端分离…

    2025年3月8日 编程技术
    200
  • 用Node提供静态文件服务

    这篇文章主要介绍了关于用node提供静态文件服务,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 对于一个web应用,提供静态文件(CSS、JavaScript、图片)服务常常是必须的。本文将介绍如何做一个自己的静态文件…

    2025年3月8日
    200
  • 利用javascript判断浏览器类型

    这篇文章主要介绍了关于利用javascript判断浏览器类型,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 判断浏览类型的相关方法 控制台打印浏览器相关信息 window.navigator.userAgent.toLowe…

    编程技术 2025年3月8日
    200
  • 浏览器与NodeJS的EventLoop异同以及部分机制

    这篇文章主要介绍了关于浏览器与nodejs的eventloop异同以及部分机制,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 浏览器与NodeJS的EventLoop异同,以及部分机制 javascript 是一门单线程的脚…

    2025年3月8日 编程技术
    200
  • JavaScript创建对象的四种方式

    这篇文章主要介绍了关于javascript创建对象的四种方式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 关键字 Object.create; new Object(); new Fn(); {} 背景 此段可跳过不读……

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论