zoukankan      html  css  js  c++  java
  • 构造函数模式

    就是构造一个''类'',因为类是''函数''数据类型的,所以我通过写一个函数来表示一个类
    "(自定义类)"
    这就叫构造函数模式
    怎样让他表示一个类呢?
    1.最好函数名首字母是大写
    2.通过"new"这个关键词来创造一个变量,那这个变量叫"实例"
    --> var 实例=new 类
    3.通过''this"给这个实例增加私有的''属性名''和''赋属性值''

    通过"new"一个类的具体实例步骤:
    1.预解释
    2.自动生成一个this(代表当前实例),通过this给实例增加属性名和属性值
    3.默认将创建好的实例this返回,所以不需要写''return''

    假如说我写了return
    1.return 基本数据类型,不会对他造成影响
    2.return 引用数据类型,就会改变实例的值,return谁实例就是谁
    注意!
    var obj=new F<相等>var obj=new
    每个实例之间地址都不一样
    "所有的实例都是对象"

    function Fn(){
    this.name="a";
    this.age=1;
    this.f=function(){
    console.log(this);
    }
    }
    var obj1= new Fn();
    var obj2= new Fn();
    var obj3= new Fn();
    var obj=Fn();-->undefined
    
    函数:

    1.普通的函数,就代表一个方法
    2.类 自定义类
    3.它属于Function类的一个实例
    var obj1=new Fn();
    new:就是构造函数创建方式,Fn函数就是一个类,obj1就是Fn类的一个实例
    Fn()创建过程:
    1.形成一个私有作用域
    2.预解释
    3.创建一个实例,这个实例就是this
    4.代码执行的时候,通过this给实例增加私有属性并赋值
    5.会默认返回当前的这个实例this

    注意:
    1.通过this给实例增加的是自有属性,每个实例之间的私有属性是私有的不一样的
    2.不用写retrun直接返回this,如果你写了,写的是基本数据类型的没有影响,如果你写的是引用数据类型的就会把this修改了,你写的啥就返回啥
    3.var obj=new Fn() 跟var obj=new Fn 一样没区别


    function fn(name,age){
    var obj={};
    obj.name=name;
    obj.age=12;
    retrun obj
    }
    var obj=fn();

    ==================
    function Fn(){
    this.name="aa";
    this.age=12;
    }
    var obj1=new Fn();
    obj1是Fn这个类的一个具体的实例
    var obj2=new Fn();
    obj2是Fn这个类的一个具体的实例

    ================
    var num=1;
    function XX(){
    var num=12;
    this.num=10;
    this.x=100;
    this.y=function(){
    console.log(this.x+m)
    }
    }
    var x1=new XX();
    console.log(x1.x,x1.num);
    x1.y();
    var x2=new XX();
    console.log(x1.x=x2.x);
    console.log(x1.y
    =x2.y);

    =====================

  • 相关阅读:
    [转] How to import a large data set using XPO efficiently within a transaction
    [原] XAF 如何启用ListView Top N records 提升用户使用体验
    [XAF] How to improve the application's performance
    [XAF] Simplifying integration of custom controls bound to data from XAF application database
    解决Hyper-v Server更换网卡后上传速度变得非常慢的问题
    在SqlServer中通过SQL语句实现树状查询
    spring boot jpa定义返回类型问题
    linux-1
    HTML5——8form表格
    HTML5——7iframe框架
  • 原文地址:https://www.cnblogs.com/Jiazexin/p/7080351.html
Copyright © 2011-2022 走看看