面向对象
对象:是一个整体,对外提供一些操作。JavaScript的所有数据都可以被视为对象。简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。
比如说:
var o = {
p: "Hello World"
};
上面代码中,大括号就定义了一个对象,它被赋值给变量o。这个对象内部包含一个键值对(又称为“成员”),p是“键名”(成员的名称),字符串“Hello World”是“键值”(成员的值)。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。
面向对象:使用对象时,只关注对象提供的功能,不关注其内部细节。
面向对象编程(OOP)特点
1.抽象:抓住核心问题
“对象”是单个实物的抽象。
一本书、一辆汽车、一个人都可以是“对象”,一个数据库、一张网页、一个与远程服务器的连接也可以是“对象”。当实物被抽象成“对象”,实物之间的关系就变成了“对象”之间的关系,从而就可以模拟现实情况,针对“对象”进行编程。
2.封装:不考虑内部实现,只考虑功能使用
3.继承:从已有对象上,继承出新的对象
—— 多重继承
—— 多态
对象的组成:
1.方法:对象的行为(完成某种任务)
2.属性:对象的状态
变量和属性本质是一个东西,任何特性都是相同的。
变量没有所属关系是*的,不属于任何东西,而属性属于一个对象。
this:当前的方法属于谁,谁就是this。
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<title>面向对象</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
window.onload = function(){ var arr=[1,2,3,4,5]; var a=12; //变量:*
arr.a=5; //属性:属于一个对象 function show(){ //函数:*
alert("1");
} arr.fn = function(){ //方法:属于一个对象
alert("1");
}
}
</script>
</head>
<body>
</body>
</html>