function Foo(name,age){
? ? this.name = name
? ? this.age = age
? ? this.class = 'class-1'
//return this 默認(rèn)有這一行
好多人問(wèn)我這個(gè)this是啥,其實(shí)這個(gè)this在這里面是傳過(guò)來(lái)的'zhongguo'和20
}
var f = new Foo('zhongguo',20)//形成實(shí)例的過(guò)程 ? 其實(shí)這里就是調(diào)用了一下這個(gè)構(gòu)造函數(shù)完了給他傳了個(gè)參數(shù)
我這兒聲明了個(gè)f = 這個(gè)方法也可以叫函數(shù)思币,那么利用引用類(lèi)型可無(wú)限擴(kuò)展的原則奄侠,我自然可以再
// var f1 = new Foo('zhongguo',20)//擴(kuò)展(也就是說(shuō)我愛(ài)叫啥叫啥)
console.log(f.class) ?真正的調(diào)用是在這兒f.class
那我如果把這個(gè)f改成arr class改成push呢斗躏?
結(jié)論:this會(huì)先變空對(duì)象念链,在調(diào)用函數(shù)時(shí)this賦值并return后哑了,會(huì)變?yōu)閧name:zhongguo,age:20,class:'class-1'}