什么是对象
ECMA-262 把对象(object)定义为“属性的无序集合,每个属性存放一个原始值、对象或函数”。我们可以从以下两个层次来理解对象到底是什么。
对象是单个事物的抽象。比如一支笔,一本书,一辆车都可以是一个对象。
对象是一个容器,封装了属性和方法。比如:一辆车。它的颜色,大小,重量等是它的属性,而启动,加速,减速,刹车等是它的方法。
什么是面向对象编程
面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象。
示例:
我们设置页面中的 div 标签 和 p 标签的背景色为 color。如果按照我们前面所需我们可能会这样写:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div,p{
width: 200px;
height: 100px;
}
</style>
</head>
<body>
<div>你好吗?</div>
<p>我很好</p>
<div>测试一下嘛</div>
<p>好的啊</p>
<script>
var divs = document.getElementsByTagName("div");
for(var i = 0;i < divs.length;i++){
divs[i].style.backgroundColor = "red";
}
var ps = document.getElementsByTagName("p");
for(var j = 0;j < ps.length;j++){
ps[j].style.backgroundColor = "red";
}
</script>
</body>
</html>
是不是觉得有点麻烦?好像有重复的?有的人可能会想到用函数来封装一下相同的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
div,p{
width: 200px;
height: 100px;
}