在编程语言中,提到对象
,一般都含有一个隐藏的上下文面向对象编程
。
面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式。它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。
对象可以复用,通过继承机制还可以定制。因此,面向对象编程具有灵活、代码可复用、高度模块化等特点,容易维护和开发,比起由一系列函数或指令组成的传统的过程式编程(procedural programming),更适合多人合作的大型软件项目。
那么,“对象”(object)到底是什么?我们从两个层次来理解。
(1)对象是单个实物的抽象。
一本书、一辆汽车、一个人都可以是对象,一个数据库、一张网页、一个与远程服务器的连接也可以是对象。当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。
(2)对象是一个容器,封装了属性(property)和方法(method)。
属性是对象的状态,方法是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,使用“属性”记录具体是那一种动物,使用“方法”表示动物的某种行为(奔跑、捕猎、休息等等)。
来看一个典型的字面量对象的构成。
var obj = {
"abc" : 1,
3: false,
"1+1": "is equal to 2 ?",
cedf:function(){console.info("cdef")},
"arr":[1,2,3],
o:{"name":"jake"}
}
“在js中,对象是属性的无序集合,每个属性存放一个原始值,对象或函数”
属性名:属性值
属性名是字符串。属性值可以是任意数据类型。
集合是说 对象中可以有很多个属性。属性之间用逗号分隔。
属性与属性之间,没有先后顺序之分。 对比一下,数组的元素之间有序的。
众观整个js中的对象,可以分成三类:
“由ECMA实现、不依赖于宿主环境的对象,这些对象在js程序执行之前就已经存在了”。
再细分一点,分成两类:
(1)本地对象
例如:Object,Function,Array,String,Boolean,Number,Date,RegExp,Error。
(2)单体内置对象
Global对象和 Math对象。与本地对象的区别就是:使用起来不用加new 。
"宿",“住宿,借宿”。
我们知道javascript是一种脚本语言,这就意味着它无法独立运行,并且要在某种环境下,才能运行。
js有两个运行的环境:
(1) 浏览器。我们在.html文件中加入js代码,再通过浏览器来打开,这里浏览器就是javascript的运行环境。
在浏览器端的js而言,宿主对象就是浏览器对象。例如:
(2) 服务器。nodejs也提供了运行js代码的环境。在node中有一个global
对象
这才是我们展示身手的地方。例如: $, Vue 等等。
我们有个小工具来解剖
对象。
console.dir()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。