zoukankan      html  css  js  c++  java
  • js面向对象之构造函数

    最简单的面向对象程序
    <script type="text/javascript"> var obj = new Object(); obj.qq = '1079161148'; obj.name = 'mr lan' obj.showName = function() { alert('my name =' + this.name) } obj.showQQ = function() { alert('my qq =' + this.qq) } obj.showName() obj.showQQ() </script>
    封装重复使用的方法;
    <script type="text/javascript"> function createPerson(name, qq) {//构造函数 构建出一个对象; var obj = new Object(); obj.qq = qq; obj.name = name obj.showName = function() { alert('my name =' + this.name) } obj.showQQ = function() { alert('my qq =' + this.qq) } //出厂 return obj } var obj = createPerson('Mr Lan','1079161148'); var obj2 = createPerson('Mr Li','1079161168'); obj.showName(); obj.showQQ(); </script>
    //升级------->构造函数调用加new
    <script type="text/javascript"> function createPerson(name, qq) { //构造函数 构建出一个对象; this.qq = qq; this.name = name this.showName = function() { alert('my name =' + this.name) } this.showQQ = function() { alert('my qq =' + this.qq) } } var obj = new createPerson('Mr Lan', '1079161148'); var obj2 = new createPerson('Mr Li', '1079161168'); obj.showName() obj.showQQ()
      alert(obj.showName()==obj2.showName()) //false
    </script>
    //进阶面向对象编程
    <script type="text/javascript"> //混合构造函数混合方式(构造函数配合原型) function createPerson(name, qq) { //构造函数加属性 this.qq = qq; this.name = name } createPerson.prototype.showName = function(){//原型加方法 alert('my name =' + this.name) } createPerson.prototype.showQQ = function(){ alert('my qq =' + this.qq) } var obj = new createPerson('Mr Lan', '1079161148'); var obj2 = new createPerson('Mr Li', '1079161168'); //obj.showName() //还可以继续用不影响使用 //obj.showQQ() alert(obj.showName()==obj2.showName())//true </script>
  • 相关阅读:
    canvas,画个纸飞机
    时钟
    去除滚动条,内容仍然可以滚动
    鼠标指针移入移出改变图片透明度
    Mysql数据库优化总结
    一次利用nginx漏洞的木马事件
    一个批量删除大表数据的shell小脚本
    MegaCli监控raid卡磁盘信息以及相关的shell脚本
    MYSQL delete语句不支持别名?
    一次Mysql数据库服务器磁盘空间满引发的写入和同步问题
  • 原文地址:https://www.cnblogs.com/lhl66/p/8001609.html
Copyright © 2011-2022 走看看