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>
时间: 2024-09-28 21:30:48

js面向对象之构造函数的相关文章

js面向对象加构造函数模式表单验证

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表单验证</title> <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> </head> <body>

JS面向对象(1)——构造函数模式和原型模式

1.构造函数模式 构造函数用来创建特定的类型的对象.如下所示: function Person(name,age,job){ this.name=name; this.job=job; this.age=age; this.sayName=function(){ alert(this.name); }; } var person1=new Person('nick',20,'student');var person2=new Person('nick',20,'student');alert(p

js面向对象编程(二) 构造函数继承

构造函数绑定 //基类建筑物var building = function () {    this.spec = "building";}; //address:房子地址,toward:房子朝向var house = function (address, toward) {    this.address = address;    this.toward = toward;}; //使房子继承建筑物 //使用call或者apply方法,将父对象的构造函数绑定在子对象上,在子对象构造

简单粗暴地理解js原型链--js面向对象编程

简单粗暴地理解js原型链--js面向对象编程 原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧,想点与代码无关的事,比如人.妖以及人妖. 1)人是人他妈生的,妖是妖他妈生的.人和妖都是对象实例,而人他妈和妖他妈就是原型.原型也是对象,叫原型对象. 2)人他妈和人他爸啪啪啪能生出一堆人宝宝.妖他妈和妖他爸啪啪啪能生出一堆妖宝宝,啪啪啪就是构造函数,俗

JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对象之间的赋值,for...in语句,delete使用,成员方法,json对象的使用,prototype的使用,原型继承与原型链 JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法 1.Object类 在JS中,Object是所有类的基

js面向对象深入理解

js面向对象深入理解 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP).面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,ECMAScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. 一.创建对象 创建一个对象,然后给这个对象新建属性和方法. var box = new Object(); //创建一个Object 对象 box.name = 'Lee'; //创建一个name 属性并赋值 b

JS面向对象笔记二

菜单导航,<JS面向对象笔记一>,  参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函数和new命令 五.构造函数和new命令 六.构造函数和new命令 七.构造函数和new命令 八.构造函数和new命令 一.构造函数和new命令 1.构造函数 JavaScript语言的对象体系,不是基于"类"的,而是基于构造函数(constructor)和原型链(prototype) 为

拖拽系列二、利用JS面向对象OOP思想实现拖拽封装

接着上一篇拖拽系列一.JavaScript实现简单的拖拽效果这一篇博客将接着对上一节实现代码利用JS面向对象(OOP)思维对上一节代码进行封装; 使其模块化.避免全局函数污染.方便后期维护和调用:写到这里突然想起一句话“没有任何一个题目是彻底完成的.总还会有很多事情可做......” 我想这句话程序开发大概也适用吧,前端开发人员总是可以结合自己之前学到“拖拽”相关知识,不断扩展.完善.无穷无尽.......     利用匿名函数自执行实现封装 ;(function(){ //do somethi

js面向对象实现图片轮播插件

这个demo的学习过程很值得记录下来. 前言:学习了一遍js的面向对象,想找点东西练练手,就上网找了个用js面向对象实现图片轮播插件: http://www.codefans.net/jscss/code/3327.shtml 功能:新建一个实例就是一个图片轮播,可以新建多个,但是实例与实例之间是干扰的. 过程:看视频教程说,第一次搞面向对象,把面向过程改头换面就可以了.自己就死磕地先写了原生,再改为面向对象. 写原生的时候,遇到的问题: 不知道怎么样停止计时器:clearInterval.cl