創(chuàng)建一個(gè)類:
使用new來創(chuàng)建dog2:
當(dāng)不使用new創(chuàng)建時(shí):
dog1為undefined凤壁,創(chuàng)建時(shí)沒有用到new,this指向的是window,因此在全局下會(huì)添加一個(gè)name吼虎,而此時(shí)dog1是Dog函數(shù)的執(zhí)行結(jié)果,因?yàn)闆]有return語(yǔ)句,所以最后返回來的是undefined适刀;
使用安全模式可以避免這種錯(cuò)誤的發(fā)生:
通過 this instanceof Dog 來判斷當(dāng)前this是否是Dog的實(shí)例,不是則new來實(shí)例化重新創(chuàng)建