博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象思想(第一天)
阅读量:5911 次
发布时间:2019-06-19

本文共 2418 字,大约阅读时间需要 8 分钟。

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+='
'27 return str;28 },29 bindEvents:function(){30 31 }32 }33 34 /*搭积木开发 -- 代码可读性极高*/35 window.οnlοad=function() {36 /*假设这是ajax获取的json数据 -- 假设这是后台给你的数据*/37 var products= [38 {name:'手机中的战斗机',price:1111,youhuijia:1000,sales:300,zhekou:3.5,image:'img/boutque10_r2_c2.jpg'},39 {name:'手机中的战斗机',price:1111,youhuijia:1000,sales:300,zhekou:3.5,image:'img/boutque06_r2_c2.jpg'},40 {name:'手机中的战斗机',price:1111,youhuijia:1000,sales:300,zhekou:3.5,image:'img/boutque08_r2_c2.jpg'},41 {name:'手机中的战斗机',price:1111,youhuijia:1000,sales:300,zhekou:3.5,image:'img/boutque09_r2_c2.jpg'},42 {name:'手机中的战斗机',price:1111,youhuijia:1000,sales:300,zhekou:3.5,image:'img/boutque10_r2_c2.jpg'},43 {name:'手机中的战斗机',price:1111,youhuijia:1000,sales:300,zhekou:3.5,image:'img/boutque11_r2_c2.jpg'},44 ]45 46 /*前端代码*/47 /*前后台开发不影响,我们不必等待后端人员给我们数据*/48 var str=''49 for(var i = 0,len=products.length;i

 

转载地址:http://xelpx.baihongyu.com/

你可能感兴趣的文章
微信开发https服务搭建
查看>>
Error No matching provisioning profiles found
查看>>
理解JavaScript中的回调函数
查看>>
2016-11-10试题解题报告
查看>>
排序算法的稳定性
查看>>
vim的基础操作
查看>>
AFSoundManager
查看>>
HLG 1360 Leyni的国家III【并查集】
查看>>
hdu4625 JZPTREE(斯特林数+dp)
查看>>
linux网络编程涉及的函数
查看>>
三列布局
查看>>
数据表的相关操作
查看>>
PHP 全局变量
查看>>
String和StringBuilder、StringBuffer的区别?
查看>>
Debian/Kali下Subversion的配置
查看>>
c#选择文件并读取EXECL
查看>>
网络编程
查看>>
【转】Python资源 转自 dylanninin.com
查看>>
EditPlus+VC6.0打造轻量级编译环境
查看>>
caffe问题
查看>>