面向对象、原型——prototype、用混合方式构造对象

  1. 什么是对象
    对象是一个整体,对外提供一些操作

  2. 什么是面向对象
    使用对象时,只关注对象提供的功能,不关注其内部细节
    比如JQuery

  3. 面向对象是一种通用思想,并非只有编程中能用,任何事情都可以用

  4. 面向对象编程(OOP)的特点
    抽象:抓住核心问题
    封装:不考虑内部实现,只考虑功能使用
    继承:从已有对象上,继承出新的对象
    -多重继承
    -多态

  5. 对象的组成
    方法——函数:过程、动态的
    属性——变量:状态、静态的

原型——prototype

  1. 什么是原型
    原型是class,修改他可以影响一类元素
    在已有对象中加入自己的属性、方法
    原型修改对已有对象的影响

  2. 为Array添加sum方法
    给对象添加方法,类似于行间样式
    给原型添加方法,类似于class

<script>
var arr1=new Array(12,55,34,78,676);
var arr2=new Array(12,33, 1);

Array.prototype.sum=function ()	//class
//arr1.sum=function ()				//行间样式
{
	var result=0;
	
	for(var i=0;i<this.length;i++)
	{
		result+=this[i];
	}
	
	return result;
};

alert(arr1.sum());
alert(arr2.sum());	//?
</script>
  1. 原型的小缺陷
    无法限制覆盖

用混合方式构造对象

  1. 原则
    构造函数:加属性
    原型:加方法
<script>
function CreatePerson(name, qq)		//构造函数
{
	this.name=name;
	this.qq=qq;
}

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值