如何理解并学习javascript中的面向对象
2个回答
展开全部
首先,对象的定义大致如下:
对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。
简单说,所谓对象,就是一种无序的数据集合,由若干个逗键值对地(key-value)构成。
var o = {
p: "Hello World"
};
上面代码中,大括号就定义了一个对象,它被赋值给变量o。这个对象内部包含一个键值对(又称为逗成员地),p是逗键名地(成员的名称),字符串逗Hello World地是逗键值地(成员的值)。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。
我们从两个层次来理解。
(1)逗对象地是单个实物的抽象。
一本书、一辆汽车、一个人都可以是逗对象地,一个数据库、一张网页、一个与远程服务器的连接也可以是逗对象地。当实物被抽象成逗对象地,实物之间的关系就变成了逗对象地之间的关系,从而就可以模拟现实情况,针对逗对象地进行编程。
(2)逗对象地是一个容器,封装了逗属性地(property)和逗方法地(method)。
所谓逗属性地,就是对象的状态;所谓逗方法地,就是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,逗属性地记录具体是那一种动物,逗方法地表示动物的某种行为(奔跑、捕猎、休息等等)。
其次,典型的面向对象编程语言(比如C++和Java),存在逗类地(class)这样一个概念。所谓逗类地就是对象的模板,对象就是逗类地的实例。JavaScript语言没有逗类地,而改用构造函数(constructor)作为对象的模板。
前面说过,逗对象地是单个实物的抽象。所以,通常需要一个模板,表示某一类实物的共同特征,然后逗对象地根据这个模板生成。
所谓逗构造函数地,就是专门用来生成逗对象地的函数。它提供模板,作为对象的基本结构。一个构造函数,可以生成多个对象,这些对象都有相同的结构。
类,无非就是想实现代码共用,JS中通过设置原型对象的方式达到了这个目的。只是中间的过程不是使用class的形式,而是使用constructor function的形式。
对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。
简单说,所谓对象,就是一种无序的数据集合,由若干个逗键值对地(key-value)构成。
var o = {
p: "Hello World"
};
上面代码中,大括号就定义了一个对象,它被赋值给变量o。这个对象内部包含一个键值对(又称为逗成员地),p是逗键名地(成员的名称),字符串逗Hello World地是逗键值地(成员的值)。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。
我们从两个层次来理解。
(1)逗对象地是单个实物的抽象。
一本书、一辆汽车、一个人都可以是逗对象地,一个数据库、一张网页、一个与远程服务器的连接也可以是逗对象地。当实物被抽象成逗对象地,实物之间的关系就变成了逗对象地之间的关系,从而就可以模拟现实情况,针对逗对象地进行编程。
(2)逗对象地是一个容器,封装了逗属性地(property)和逗方法地(method)。
所谓逗属性地,就是对象的状态;所谓逗方法地,就是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,逗属性地记录具体是那一种动物,逗方法地表示动物的某种行为(奔跑、捕猎、休息等等)。
其次,典型的面向对象编程语言(比如C++和Java),存在逗类地(class)这样一个概念。所谓逗类地就是对象的模板,对象就是逗类地的实例。JavaScript语言没有逗类地,而改用构造函数(constructor)作为对象的模板。
前面说过,逗对象地是单个实物的抽象。所以,通常需要一个模板,表示某一类实物的共同特征,然后逗对象地根据这个模板生成。
所谓逗构造函数地,就是专门用来生成逗对象地的函数。它提供模板,作为对象的基本结构。一个构造函数,可以生成多个对象,这些对象都有相同的结构。
类,无非就是想实现代码共用,JS中通过设置原型对象的方式达到了这个目的。只是中间的过程不是使用class的形式,而是使用constructor function的形式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询