JS的面向对象一(通过构造函数的方式)

新人分享些学习过程中的心得体会,有错误或疏漏之处还请各位不吝拍砖。

一.为什么要面向对象?

1.在写代码中经常会碰到如下情况:

 一个函数内的变量需要被其内嵌函数引用,若直接层层嵌套堆在一块则不便于后期维护,这是就需要提取分离。

 a.可以考虑把上一个函数的返回值作为参数传入下一个函数。

 b.更好的方法是用面向对象的方式创建方便共用的变量,用this。

function fn1(){

  变量1,变量2,变量3

  函数或者可以提取成函数的一段代码要用到上面变量...

  函数或者可以提取成函数的一段代码要用到上面变量...

}

2.可以创建很多实例,互不影响,每个实例还可创建自己专属的属性与方法。

 var a = new Classname();  创建了一个实例

二.如何书写

1.创建构造函数

 构造函数名,首字母用大写(业内规范)。

 通过this.属性名 = xxx 的方式添加属性或方法(函数)。

function Classname(){

 this.varname1 = xxx;

 thia.varname2 = xxx; 

}

2.通过原型prototype添加修改属性或方法(函数)

 一般只用原型添加方法,原型添加的东西适用于所有实例。

Classname.prototype.方法名 = function(){}

后续举一个面向过程转换为面向对象的例子

 

posted @ 2018-02-22 17:19  王利r  阅读(540)  评论(0编辑  收藏  举报