博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象思想(第一天)
阅读量:5912 次
发布时间: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/

你可能感兴趣的文章
WOL远程开机
查看>>
Getting the first day in a week with T-SQL
查看>>
使用Mutex實現單一程式執行個體的注意事項(转)
查看>>
Windows下MinGW编译vim7.4
查看>>
python UDP-数据报协议
查看>>
sed之G、H、g、h使用
查看>>
js截取字符串实例
查看>>
js运行机制
查看>>
剑指OFFER的跳台阶问题
查看>>
vue组件插槽
查看>>
公司僵尸帐号引发了一系列的入侵事件-细说密码强度验证的重要性
查看>>
基于DDD的.NET开发框架 - ABP工作单元(Unit of Work)
查看>>
Lucas 定理
查看>>
1、内存
查看>>
PAT_A1099#Build A Binary Search Tree
查看>>
wav2midi 音乐旋律提取算法 附可执行demo
查看>>
MySQL外键
查看>>
CDH集群安装配置(五)- Cloudera Manager Server
查看>>
201671010128 2017-10-08《Java程序设计》之Lambda与内部类
查看>>
第二篇 第三章防火防烟分区检查(一)
查看>>