学习地址:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object-oriented_JS
一、构造函数和对象的实例:
javascript使用构造函数这种特殊函数来定义对象和功能,我们通过构造函数可以创建所需数量对象的方法。
构造函数通常以大写字母开头
创建一个构造函数,new的新对象具有构造函数的对象
其他创建对象方法:
1、 Object构造函数创建新对象。即使是通用对象也会有一个构造函数,他会生成一个空对象
2、使用create()方法
二、原型:
原型链:__proto__,每一个对象都有一个__proto__的方法。
当谈到继承时,JavaScript 只有一种结构:对象。每个实例对象(object )都有一个私有属性(称之为 __proto__)指向它的原型对象(prototype)。该原型对象也有一个自己的原型对象(__proto__) ,层层向上直到 一个对象的原型对象为 null
。根据定义,null
没有原型,并作为这个原型链中的最后一个环节。
属性和方法是prototype
在Objects的构造函数的属性上定义的,而不是对象实例本身。
因此Object.prototype.watch()
,Object.prototype.valueOf()
等可用于任何继承的对象类型 Object.prototype
,包括从Person()
构造函数创建的新对象实例
__proto__指向的是他的原型对象(prototype)的实例
call和apply也可以继承,区别是call可以接收参数列表,apply只能单个参数
json说明:
- JSON纯粹是一种数据格式 - 它只包含属性,没有方法。
- JSON需要在字符串和属性名称周围使用双引号。单引号无效。
- 即使是一个错放的逗号或冒号也可能导致JSON文件出错,而无法正常工作。您应该小心验证您尝试使用的任何数据(尽管计算机生成的JSON不太可能包含错误,只要生成器程序正常工作)。您可以使用JSONLint之类的应用程序验证JSON 。
- JSON实际上可以采用任何有效包含在JSON内的数据类型的形式,而不仅仅是数组或对象。因此,例如,单个字符串或数字将是有效的JSON对象。
- 与可以不引用对象属性的JavaScript代码不同,在JSON中,只有引用的字符串可以用作属性。
parse()
:接受JSON字符串作为参数,并返回相应的JavaScript对象。stringify()
:接受一个对象作为参数,并返回等效的JSON字符串形式。