js面向对象的程序设计
Posted hello world
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js面向对象的程序设计相关的知识,希望对你有一定的参考价值。
面向对象(OO)语言都有一个标志,就是都有类的概念,而通过类可以创建多个具有相同属性和方法的对象
一:进行创建对象
1,工厂模式:
工厂模式是使用函数来封装特定接口的创建对象胡细节,代码如下:
function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name) } return o } var Person1=createPerson("zhangningning",21,"doctor")
缺点:没有解决对象识别的问题
2.构造函数模式:
通过创建自定义的构造函数,
代码如下:
function Person(name,age,job){ this.name=name; this.age=age; this.sayname=function(){ alert(this.name) } } var person1=new Person("zhangningning",21,"student")
使用new操作符的过程:
(1),创建一个新对象
(2),将构造函数中的作用域赋给新对象
(3),执行构造函数中的代码
(4),返回新对象
缺点:会导致不同实例上的同名函数是不相同的
通过构造函数创建的实例中存在一个constructor属性,这个属性指向person
3,原型模式
每个函数都有一个原型属性,属性是一个指针,指向一个对象,对象包含由特定类型的所有实例共享的属性和方法
可以将方法添加到原型中,所有的实例就都会共享
可以通过对象实例访问保存在原型中的值,不能通对象实例重写原型中的值,如果在实例中添加一个属性,这个属性和原型对象中的属性同名,就会覆盖原型中的属性
以上是关于js面向对象的程序设计的主要内容,如果未能解决你的问题,请参考以下文章