zoukankan      html  css  js  c++  java
  • 基于上一篇的模块化思路,巩固个小知识点——构造函数与原型模式

    具体可参考红皮书第三版中的6.2.4章

    书中的例题详细讲解了什么是原型模式

    function fop(){};
        fop.prototype.name="xiaohong";
        fop.prototype.age="12";
        fop.prototype.sayName=function(){
            console.log(this.name);
        }
        var per1=new fop();
        per1.sayName();
        var per2=new fop();
        per2.sayName();
    

     简单来说就是声明一个空的方法,为其原型添加属性和方法,那么每一个其创建的对象实例都共享原型中的内容。

    而在实际开发中更多的是构造函数与原型模式共用,构造函数中主要用来存储创建对象实例时的属性参数,而原型模式中则用来共享所有实例共享的方法,这样做之后就可以创建多个拥有自己特有属性同时又有相同方法的对象实例。如:

     function foo(name,age,job){
            this.name=name;
            this.age=age;
            this.job=job;
        }
        foo.prototype={
            sayname:function(){
                console.log(this.name)
            }
        };
        var xiaoming=new foo("xiaoming","12","aa");
        var zhanghong=new foo("zhanghong","12","bb");
        xiaoming.sayname();
        zhanghong.sayname();
    

     在这个例子中,xiaoming和zhanghong拥有自己的姓名,年龄和工作,但是他们又同时拥有sayname这个相同的方法来输出自己的name。

  • 相关阅读:
    web移动端开发经验总结
    《前端JavaScript面试技巧》笔记一
    《SEO在网页制作中的应用》视频笔记
    web前端开发笔记(2)
    OAuth2.0理解和用法
    基于hdfs文件创建hive表
    kafka 配置事项
    centos7时间同步
    lambda架构
    hbase hadoop版本
  • 原文地址:https://www.cnblogs.com/weblv/p/5189035.html
Copyright © 2011-2022 走看看