01:
函数:其实就是一个工具,每个函数都封装了特定的功能;拥有自己的名字,参数,就像一个打火机一样,我们只需要知道如何去使用他,而不需要了解他如何制造;
对象:就像一个工具包,将功能类似的函数封装到一起,方便我们维护和使用,管理;一个对象包括其属性和方法;如:图书馆对图书进行分类管理,函数就是对象里面的方法;
面向对象:我们找一个工具(对象)去帮我们工作,实现某种功能,‘借物’的思想;
传统的编辑程序:定义变量----获取元素---绑定元素---绑定事件;
面向对象开发:
a.思考需要哪几个对象/工具包,主要开源与名词的提升,如,一个产品信息,我i们要把产品放到购物车里面,则我们可以提炼出两个对象:一个产品;一个购物车;
b.思考每个对象需要哪些属性和方法,将与产品相关的代码放到产品里,和购物车相关的代码放入购物车对象里面;
面向对象的好处:便于分工合作,解耦和;
架构师的作用:宏观规划需要 哪些对象,ing编写好较难写的对象;
高级工程师:将一个项目分成很多对象,他们负责编写对象细节;
初级工程师:使用对象;
实例化:将抽象的对象只有具体化以后才能使用;new方法实例化;
案例:(1)分析需要哪些对象;定义一个产品对象;
写出:
1 function Product(){2 }3 4 Product.prototype={5 }
(2)分析对象的属性与方法:先写汉语注释,再写代码;
(3)定义一个方法bindDom.将绑定的代码都放到里面,用字符串进行拼接(因为数据是从后台传过来自动生成的);
(4)每一个产品都要进行一个实例:
总体JS代码如下:
1 //产品对象 2 /*对象内如何使用对象的属性和方法:this,对象外如何使用:先实例化,后用点语法*/ 3 function Product() { 4 /*属性 行为*/ 5 this.name =''; 6 this.price=''; 7 this.description = ''; 8 this.youhuijia=''; 9 this.zhekou = ''10 this.sales = ''11 this.image=''12 }13 Product.prototype={14 bindDom:function(){15 var str=''16 str+='
- '17 str+='
- '18 str+='
- '19 str+=' '+this.zhekou+'折/'+this.name+''20 str+=' '21 str+='
- '22 str+=' ¥'+this.price+''23 str+='
¥'+this.youhuijia+''24 str+=' 售量:'+this.sales+''25 str+=' '26 str+='