zoukankan      html  css  js  c++  java
  • JavaScript面向对象编程

    不好的写法
    function CreatePerson(name,qq){//构造函数
        /* 
            new构造函数的时候
            系统会自动new一个Object对象,var this = new Object();
            最后再把这个new的this对象返回,return this;
         */
    
        this.name=name;//属性name
        this.qq=qq;//属性qq
    
        this.showName=function(){
            alert('我的名字叫:'+this.name);
        }
    
        this.showQQ=function(){
            alert('我的QQ号是:'+this.qq);
        }
    }
    
    var obj=new CreatePerson('user1','1234');
    var obj2=new CreatePerson('user2','5678');
    alert(obj.showName == obj2.showName);//false
    /* 
    两个new生成对象的showName是不同的
    new的对象多了,内存占用过多性能就会受影响了
    */

    好的写法

    function CreatePerson(name,qq){//构造函数
        this.name=name;//属性name
        this.qq=qq;//属性qq
    }
    CreatePerson.propotype.showName=function(){
        alert('我的名字叫:'+this.name);
    }
    CreatePerson.propotype.showQQ=function(){
        alert('我的QQ号是:'+this.qq);
    }
    
    var obj=new CreatePerson('user1','1234');
    var obj2=new CreatePerson('user2','5678');
    alert(obj.showName == obj2.showName);//true
    /*
    此时两个obj的showName是相同的
    */
    

    面向对象编程:用构造函数加属性(变量),用原型加方法(函数)。
    一样的放到原型中,不一样的放到构造函数中。 因为name、qq是不确定的,而显示的方法时相同的。

    面向对象: 使用对象时, 只关注对象提供的功能, 不需要关注其内部的细节, 比如jQuery

    css javascript
    class 一次给一组元素添加 原型
    style 一次给一个元素添加 给对象加的一个方法

    原型相当于css中的class, 给一组元素添加, 可以继承共用


    var arr = new Array();
    对象
    模子 产品(成品)
    Array() arr
    可以 new Array() 不可以 new arr()
    Array是一个模子, 不具备实际功能,不能 Array.push() arr是一个产品,是拿来使用的,可以 arr.push()
    类有原型,可以 Array.prototype 对象没有原型,不能 arr.prototype
     
  • 相关阅读:
    gridview展示行号
    DateEdit如果开启Vista模式并显示日期+时间模式
    DevExpress GridView 添加和设置右键菜单
    C# WinForm实现粘贴图片到PictureBox及复制PictureBox中的图片
    dll反编译工具(ILSpy)的使用
    Dev的双击Gridview的DoubleClick
    SQL Server日期时间格式转换字符串详解
    LabelControl文本居中显示
    C# winform 判断click事件点击的是左键还是右键
    Winform窗体状态的判断及调用打开的窗体的方法
  • 原文地址:https://www.cnblogs.com/blog-leo/p/4508459.html
Copyright © 2011-2022 走看看