js函数
- 函数由函数体、函数的返回值、函数的属性组成;
- 任何函数都有prototype属性;
js构造函数
var a=new F() //使用new关键字,函数被当作够高函数使用;new有如下的作用:
- var a=new Object() 首先创建一个空的对象;
- a._proto_=F.prototype 每个对象都有_proto_属性,指向该对象的原型;将a对象的_proto_指向构造函数的prototype属性;
- 将F函数体中的this指向a对象,并执行F函数;
- 若F函数的返回值是基本数据类型,则不做操作;若返回值是引用类型,则将该返回值复制给a,结果原来a中的内容将不复存在;
使用Object.create()创建对象
var a=Object.create(m) //m是一个对象,作为参数;所做操作如下:
- var a=new Object() 首先创建一个空的对象;
- a._proto_=m 将m对象赋值给a的_proto_属性;