js你如何理解面相对象 JS面向对象编程:b怎么继承a

如何理解并学习javascript中的面向对象
首先,对象的定义大致如下:
对象(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面向对象编程:b怎么继承a
【js你如何理解面相对象 JS面向对象编程:b怎么继承a】function A(name){
this.name = name;
this.sayHello = function(){alert(this.name ” say Hello!”);};
}
function B(name,id){
this.temp = A;
this.temp(name);//new A();
delete this.temp;
this.id = id;
this.checkId = function(ID){alert(this.id==ID)};
}