1.在构造函数中,this是怎么样变化的呢?
function fn(){
this.num=10;
console.log(this)
}
var obj = new fn()
console.log(obj)//和上面打印出来的是一样的
这个This指向了对象。fn对象
new的作用:
1.调用函数
2.自动创建一个对象
3.把创建出来的对象和this 进行绑定
4.如果构造函数没有返回值,隐式返回this对象
此时的this相当于在fn()里面创建了一个对象
如果在构造函数里面有return关键词
function fn(){
this.num=10
return ''
}
var obj = new fn()
console.log(obj.num)
return ‘’ 打印出来的是一个{}
return [] 打印出来的的是一个undefined·
return {} 打印出来的是undefined
return 1 打印出来 是10
return null 打印出来的是Undefined
(不是很明白为什么)
返回出来的是个对象 This指向返回的对象
如果返回的不是一个对象 保持原来的规则