javascript面向对象理解整理

面向对象的力量、概念

能力

  1. 继往开来 –
    由另外一个类似(或多个近乎)得来类的性能和道的力
  2. 多态 –
    编写能因为多智运行的函数或方式的力
  3. 打包、聚集 –
    存储信息及对象,并且对象与对象中以信息通信,各自有信息隐藏

概念

于因类的面向对象方式备受,对象(object)依靠 类(class)来出。而于依据原型的面向对象方式遭到,对象(object)则是依 构造器(constructor)利用 原型(prototype)构造出的。

{ES6概念:ECMA-262
把对象(object)定义为“属性之无序集合(/数组),每个属性存放一个原始值、对象或函数”,对象呢堪涵盖对象。
/?  构成:在 ECMAScript
中,对象由特性(attribute)构成,特性可是原始值,也得以是引用值。如果特性存放的是函数,它以于当对象的法子(method),否则该特性深受作对象的性质(property)。 } 方法和特性很相像,
不同之是:一个是函数,另一个方可让定义也函数。JavaScript可用方法作类
如:Function Method(){}。

数据类型

于 ECMAScript
中,变量可以在个别种类型的价,即原始值和引用值。ECMAScript有6栽为主数据类,即
Boolean、Number、String、Null、Undefined、Object。前5种是原始类型,Object对象为援类型。Object对象是讲述ECMAScript对象的绝无仅有一个数据类型,JavaScript
中的每个对象还是 Object对象的实例且连续它们拥有的习性和章程。所以理解了
Object对象,就可更好地领略外对象。

Object
对象具备下列属性:

constructor
针对创建对象的函数的援(指针)。对于
Object 对象,该指针指向原始之 Object() 函数。

Prototype
对该对象的靶子原型的援。对于有的对象,它默认返回
Object 对象的一个实例。

Object
对象还有着几单法子:

hasOwnProperty(property)
认清目标是不是发有特定的性。必须用字符串指定该属性。(例如,o.hasOwnProperty(“name”))

IsPrototypeOf(object)
认清该对象是不是为其它一个对象的原型。

PropertyIsEnumerable
判断给定的性能是否足以据此
for…in 语句子进行枚举。

ToString()
返回对象的原始字符串表示。对于
Object 对象,ECMA-262 没有定义是价,所以不同之 ECMAScript
实现有不同的价。

ValueOf()
回最符合该对象的原始值。对于广大目标,该法返回的值都与
ToString() 的归值相同。

原始类型的援类型&内置对象

  定义一个变量为: new Boolean(boolean)/new
Number(number)/ new String(string)
 注意括号中吗实际的原始值。即是各个原始类型的援类型

 

typeof、instance、valueof

 

原型可以存放方法并联合享属性

 

重整学习参考
https://www.ibm.com/developerworks/cn/web/1304\_zengyz\_jsoo/;
http://www.w3school.com.cn/js/pro\_js\_object\_oriented.asp
;http://www.cnblogs.com/TomXu/archive/2012/02/06/2330609.html