js面向对象
来源:互联网 发布:宣城太守知不知翻译 编辑:程序博客网 时间:2024/06/16 21:02
js面向对象
一、什么是对象
对象可以看成一个属性的集合。对像一般有属性和方法构成,方法的实质是函数,而属性的实质是变量。
二、什么是面向对象
面向对象可以理解为不需要去了解对像的内部结构,就可以使用它。像我们的date 对像的方法可以获取和设置时间,但我们并不了解其内部原理。
三、面向对象(抽风机)
抽象:抽取核心信息
封装:不考虑内部实现,重点会使用就行。
继承:继承父类的功能,还能有自己的功能。
四、创建对象的方法(本质上都是把“属性”和“方法”,封装成一个对象)
1、基本模式:
<script>var obj=new Object();obj.name='blue';obj.qq='258248832';obj.showName=function (){alert('我的名字叫:'+this.name);};obj.showQQ=function (){alert('我的QQ号:'+this.qq);};obj.showName();obj.showQQ();var obj2=new Object();obj2.name='张三';obj2.qq='5468978546';obj2.showName=function (){alert('我的名字叫:'+this.name);};obj2.showQQ=function (){alert('我的QQ号:'+this.qq);};obj2.showName();obj2.showQQ();</script>2、工厂模式(原料、加工、出厂)
<script>function createPerson(name, qq)//构造函数{//原料var obj=new Object();//加工obj.name=name;obj.qq=qq;obj.showName=function (){alert('我的名字叫:'+this.name);};obj.showQQ=function (){alert('我的QQ号:'+this.qq);};//出厂return obj;}var obj=createPerson('blue', '258248832');obj.showName();obj.showQQ();var obj2=createPerson('张三', '45648979879');obj2.showName();obj2.showQQ();</script>*this指的是谁用这个函数,就是指谁。
*工厂方式的缺点a:没使用new.b:函数的使用重复造成系统资源的浪费。
加上new:
<script>function createPerson(name, qq)//构造函数{//系统偷偷替咱们做://var this=new Object();//加工this.name=name;this.qq=qq;this.showName=function (){alert('我的名字叫:'+this.name);};this.showQQ=function (){alert('我的QQ号:'+this.qq);};//也会偷偷做一些://return this;}var obj=new createPerson('blue', '258248832');var obj2=new createPerson('张三', '45648979879');obj.showName();obj.showQQ();//alert(obj.showName==obj2.showName);</script>3、原型模式——prototype
<script>function createPerson(name, qq)//构造函数{//系统偷偷替咱们做://var this=new Object();//加工this.name=name;this.qq=qq;//也会偷偷做一些://return this;}createPerson.prototype.showName=function ()//原型{alert('我的名字叫:'+this.name);};createPerson.prototype.showQQ=function (){alert('我的QQ号:'+this.qq);};var obj=new createPerson('blue', '258248832');var obj2=new createPerson('张三', '45648979879');/*obj.showName();obj.showQQ();obj2.showName();obj2.showQQ();*/alert(obj.showName==obj2.showName);</script>
0 0
- js面向对象尝试
- js面向对象
- 面向对象的js
- js中的面向对象
- JS面向对象
- JS面向对象2
- 06 JS面向对象
- JS 面向对象
- JS面向对象例子
- 面向对象 js 打包
- js面向对象设计
- js面向对象
- js--面向对象
- js面向对象总结
- js面向对象工作总结
- js面向对象
- js面向对象
- js面向对象思想
- 1080. Graduate Admission
- 网络传输数据格式的选择:
- Android实现一款不错Banner界面广告图片循环轮播
- 数据库连接池
- 利用ajax实现省市县级联选择
- js面向对象
- linux下redis安装
- 用注册表创建无法删除的IE快捷方式
- Git中add命令介绍
- 2016/10/20 1003. Maze
- JDBC从入门到熟练(二)
- 第八周 【项目三 根据要求编写函数】
- UVa 562 - Dividing coins (0-1 变形)
- 冒泡排序C语言实现