實(shí)例化記得要加new!!
下圖代碼結(jié)果
對(duì)象在遍歷時(shí),可以和數(shù)組一樣使用for(var I in obj),i取到的值是該對(duì)象-obj的所有屬性名及方法名。所以結(jié)果為依次彈出:name price action
下圖代碼結(jié)果
for in 的遍歷過程就相當(dāng)于循環(huán)取值揽咕,能取到多少個(gè)值,就執(zhí)行多少次函數(shù)體套菜。對(duì)象遍歷時(shí)亲善,可以當(dāng)做數(shù)組一樣處理,通過[]取值逗柴。所以結(jié)果為依次彈出:aaa aaabbb aaabbbfunction(){alert(“ccc”)}
js中所有的函數(shù)都有一個(gè)prototype屬性蛹头,該屬性引用了一個(gè)對(duì)象,即原型對(duì)象戏溺,也簡(jiǎn)稱原型渣蜗。js對(duì)象有一個(gè)proto屬性,指向它的構(gòu)造函數(shù)的prototype屬性旷祸。
因?yàn)樵偷闹悼梢允且粋€(gè)對(duì)象,也可以是null耕拷。通過”O(jiān)bject.prototype.proto”獲取Object原型的原型的時(shí)候,將會(huì)得到”null”托享,也就是說”O(jiān)bject {}”原型對(duì)象就是原型鏈的終點(diǎn)了。
原型鏈的最終指向null闰围。
使用原型的方式讓對(duì)象b繼承對(duì)象a:
b.prototype=new a();
使用原型的方式為對(duì)象b定義一個(gè)方法 info:
Cat.prototype.info=function(){};
創(chuàng)建一個(gè)對(duì)象b止潘,使用call方法讓對(duì)象b繼承對(duì)象a:
var b=function(x,y){ a.call(this,x,y); }
apply方法同理,但x,y要用數(shù)組
delete不能刪除原型鏈中的屬性辫诅。
arguments是作為偽數(shù)組存在的,不能說它是數(shù)組