js-面向对象的概念
2016-10-20 20:22
155 查看
什么是面向对象?首先,先理解一下对象,很多事物都是对象,简单到一整数,复杂到一架飞机,对象是一个整体,对外提供一些操作;那么面向对象就是说,使用对象的时候,你可以直接使用它所提供的功能而忽略其内部组成情况。面对对象不一定只有在编程界里才有,我们生活中无处不在;我的理解是这样的:比如说,你家里的电视机,你使用了遥控,就能操作电视机,但是你实际上不知道这台电视机里面是什么零件组成的,你只要知道,我拿到遥控就可以操作电视机就好了。这就是一种面向对象的思想。js中的面向对象1、面向对象编程的特点:抽象:抓住核心问题封装:不用考虑内部实现过程,只要考虑功能的使用继承:从已有对象,继承出新的对象2、对象的组成方法:函数--过程、动态的属性:变量--状态、静态的
<script>
var a=12;//变量:自由的,不属于任何人
alert(a);
var arr=[1,2,3,4,5,6];
arr.a=12;//属性:属于一个对象的
alert(arr.a);
</script>/*-----------------------------------------------------------------------------------------------------------------------------*/
<script>
function aaa()//函数:自由
{
alert('abc');
}
var arr=[1,2,3,4];
arr.aaa=function()//方法:属于一个对象
{
alert('abc');
};
aaa();
arr.aaa();
</script>写一个面向对象的程序1、为对象添加属性和方法
<script>
var arr=[1,2,3,4];
arr.a=12;
arr.show=function()
{
alert(this.a);
};
oDiv.onclick=function()
{
alert(this);
};
arr.show();
</script>
//上面的this属于谁?2、this详解,事件处理中this的本质<script>window.show=function(){alert(this);};show();</script>//会弹出什么?上面的属性和方法都是加在数组对象上的,我们有个原则:不能在系统对象中随意附加方法、属性,否则会覆已有方法、属性。所以这里,我们利用object来创建新对象:
<script>
var obj=newObject();
obj.name='blue';
obj.qq='258248832';
obj.showName=function()
{
alert('我的名字叫:'+this.name);
};
obj.showQQ=function()
{
alert('我的QQ号:'+this.qq);
};
obj.showName();
obj.showQQ();
</script>如果有两个对象的情况;则
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=newObject();
obj2.name='张三';
obj2.qq='5468978546';
obj2.showName=function()
{
alert('我的名字叫:'+this.name);
};
obj2.showQQ=function()
{
alert('我的QQ号:'+this.qq);
};
obj2.showName();
obj2.showQQ();
</script>上面的写法虽然没有问题,但是代码冗余,改进一下:构建函数(该函数的功能是构建对象)
<script>
function createPerson(name,qq)//构造函数
{
varobj=newObject();
obj.name=name;
obj.qq=qq;
obj.showName=function()
{
alert('我的名字叫:'+this.name);
};
obj.showQQ=function()
{
alert('我的QQ号:'+this.qq);
};
returnobj;
}
var obj=createPerson('blue','258248832');
obj.showName();
obj.showQQ();
var obj2=createPerson('张三','45648979879');
obj2.showName();
obj2.showQQ();
</script>
相关文章推荐
- js高级——面向对象的相关概念
- js高级——面向对象的基本概念
- 1.1 js 面向对象的基本概念和基本使用方法
- js面向对象---基本的概念、属性、方法
- 从 prototype.js 深入学习 javascript 的面向对象特性
- 原来 JS 也支持跟 Lua 语意一样的内嵌函数的闭包概念
- UML-based workflow |wfmc|面向对象的概念
- 一段歪曲了概念的脚本,JS怎么能读服务器上的数据库呢??
- 原来 JS 也支持跟 Lua 语意一样的内嵌函数的闭包概念
- 用JS面向对象写的倒计时器
- 面向对象的几个重要概念
- 面向对象的一些概念
- C#中的面向对象概念
- 面向对象的几个重要概念
- 面向对象的基础概念
- 面向对象的几个重要概念
- *JS面向对象的支持
- C#面向对象系列(1):值得关注的概念
- js概念的区别
- prototype.js 让你更深入的了解javascript的面向对象特性 http://www.cnblogs.com/meil/archive/2007/05/09/740043.html