发表于: 2017-04-09 23:39:05

2 542


今天完成的任务

1.还在任务四的海洋里遨游

明天的计划

1.继续在任务四的海洋里遨游

遇到的问题

看了下面向对象的程序设计

1.首先是对象,无须属性的集合,属性中可以包含基本值,对象或者函数,对象在js里面创建要var一个new Object,假设name是a,就可以给a赋予各种属性,属性的类型有数据属性和访问器属性,数据属性可以读取和写入值。访问器属性包含一对函数,getter和setter,读取值的时候调用getter,写入的时候调用setter,当只有指定getter的时候,这个属性是个只读属性,当只指定setter的时候,这个属性不能被读。

2.以上的创建对象方式,会有大量重复代码,假设我们要设定三个对象,分别是jack,tom,jerry,分别都有name,age,face这三个属性,就需要写出三组new Object,但是这些代码里面是有大量的重复,所以就有了以下几种创建对象的方式

a.工厂模式,我们写一个函数,函数的参数分别是 name,age,face这个三个属性的值,函数里面创建一个对象a,a.name=name以此类推,然后需要定义jack对象的时候,var jack= a(‘name’,120,‘ugly’),这样只要调用这个函数,就可以创建一个类似对象,但是有个问题,就是没办法解决对象识别的问题(这个问题我没看懂)。

b.构造函数模式,在工厂模式的基础上,还是构造一个三个参数的函数,但是不同的是,不再函数内新定义一个对象,在属性名前面加一个this,同时也去掉工厂模式里面的return语句。注意:想调用这个函数,一定要用new操作符,var jack= new a(‘name’,120,‘ugly’)。这个new的作用,我还是知其然不知其所以然。这个方法还是有个问题,假如我构造的函数里包含了一个方法,每个方法都要在实例上重建一遍,(我不太明白这个问题有多严峻),提供的方法是可以把这个方法转移到函数外部,相当于设置了一个全局的函数。

c.原型模式 我看不懂啊啊啊啊啊啊啊啊啊啊啊啊啊啊

3.感觉自己进度好慢。。。。啃着费力。。真的费力

收获

以上


返回列表 返回列表
评论

    分享到