构造函数的特点:
- 构造函数的首字母必须大写,用来区分于普通函数
- 内部使用this对象,来指向即将要生成的实例对象
- 使用new来生成实例对象
构造函数的作用:
当你需要大批量的写对象的时候,就需要用到构造函数,它可以方便创建多个对象的实例,并且创建的对象可以被标识为特定的类型,可以通过集成扩展代码
//构造函数
function Peo(name,age){
this.aname=name;
this.age=age;
this.fun=function(){
console.log(age)
}
this.fun2=function(){
console.log(this.aname)
}
}
var a= new Peo("liming","18");
console.log(a)
a.fun()
a.fun2()
//返回Peo{aname:"liming",age:"18",fun:f,fun2:f} 18 liming
创建函数的3种方法:
1.声明的方法
function 函数名(形参){函数体}
2.赋值的方式:
var fun=function(形参){函数体}3
3.用new实例化一个函数
var fun=new Function(形参1,形参2...,函数体)
声明方式和赋值方式的区别?
声明方式会被声明提前,赋值方式不会声明提前
匿名函数的定义:
定义函数没有指定函数名,回调函数就是匿名函数以实参的方式传递
匿名函数自调=立即执行函数
创建对象有几种方法?
- {}创建对象的动词相当于是new Object()
- 用new来创建 var obj=new Object()
- 用构造函数(工厂)来反复创建多个相同结构的对象
new 的原理:
- 创建一个新的空对象
- 设置当前新对象继承构造函数的原型对象
- 用当前的新对象去调用构造函数,将构造函数内的this都指向那个到新对象上,然后通过强行赋值的方式给新对象添加指定的属性和属性值
- 返回新的地址给等号前面的变量