var 对象名 = { //new Object()的简写属性名: 属性值,... : ... ,方法名: function(){ ... }}var 对象名 = new Object(); //先创建空对象{}//强行给空对象中添加新属性和新方法对象名.新属性=属性值;对象名.新方法=function(){ ... this.属性名 ... }揭示了 js 语言底层最核心的原理:其实 js 中所有对象底层都是关联数组
ii. 访问成员时:
对象名/数组名[成员名]对象名/数组名.成员名lilei['sname'] 和 lilei.sname 都行强调:访问对象属性/数组元素,其实有3种方式
使用前景:用{}一次只能创建一个对象。 如果想创建多个相同结构的对象时,代码就会很多重复! ——极其不便于将来的维护。
1 定义构造函数:
function 类型名(形参1, 形参2, ...){//将来要加入到新对象中的规定的属性this.属性名=形参1;this. xxx = xxx;this.方法名=function(){ ... this.属性名 ... }}2 使用构造函数反复创建多个相同结构的对象
• var 对象名=new 类型名(实参值1, 实参值2, ...)• 至少做2件事儿:- 创建指定类型的一个新对象- 同时把实参值传给构造函数的形参变量。3 原理
function 类型名(形参1, 形参2, ...){//将来要加入到新对象中的规定的属性this.属性名=形参1;this. xxx = xxx;this.方法名=function(){ ... this.属性名 ... }}var 对象名=new 类型名(实参值1, 实参值2, ...)new 的过程
只要将方法定义放在构造函数中, 那么,每次 new 时都会执行 function, 就会反复创建相同函数的多个副本!——浪费内存,如果将来发现多个子对象都要使用相同 的功能和属性值时, 都可以用继承来解决
父对象中的成员 ,子对象无需重复创建,就可直接使用! 就像使用自己的成员一样!this.属性名/方法名()
什么是原型对象:替所有子对象集中保存共有属性值和方法的父对象
何时使用原型对象:今后,只要发现多个子对象 都需要使用相同的功能和属性值时,都可将相同的功能和属性值 集中定义在原型对象中。
如何创建原型对象:不用自己创建。 而是在定义构造函数时,程序自动附赠我们一个空的原型对象。
如何找到原型对象:构造函数中都有一个自带的属性 prototype,指向自己配对的原型对象。 • 构造函数.prototype
何时如何继承:不用自己设置继承关系!
如何向原型对象中添加共有属性:
• 只能强行赋值:• 构造函数.prototype.属性名=属性值• 构造函数.prototype.方法名=function(){… …}什么是多态:同一个函数 在不同情况下表现出不同的状态
包括 2 种:

