寰堝鏄撶悊瑙s涓轟粈涔堣繖鏍峰仛,鍥犱負涓涓璞$殑琛屼負涓嶈兘褰卞搷鍒板叾浠栧璞?鍚﹀垯灝嗕細閫犳垚娣蜂貢.
鐞嗚В涓婅堪瑙勫垯涔嬪悗璁╂垜浠湅鐪媕s涓槸濡備綍閫氳繃鍘熷瀷瀵硅薄瀹炵幇緇ф壙鐨?褰撴垜浠垱寤轟竴涓璞℃椂,鍙互鎶婅瀵硅薄鐪嬫垚鏄敱2閮ㄥ垎緇勬垚鐨?涓閮ㄥ垎瀛樺偍浜嗚瀵硅薄鑷繁瀹氫箟鐨勫睘鎬?縐頒負A閮ㄥ垎),鑰屽彟涓涓儴鍒嗗垯瀛樺偍浜嗗叾鏋勯犲嚱鏁版墍瀹氫箟鐨勫師鍨嬪璞″紩鐢?縐頒負B閮ㄥ垎),渚嬪榪欓噷鐨凚aseClass.prototype.褰撹鍙栧璞$殑灞炴ф椂鍙互鍒嗕負浠ヤ笅2姝?
1.js鍏堟鏌ヨ瀵硅薄寮曠敤鎵鎸囧悜鐨勫唴瀛樺尯鍩熺殑A閮ㄥ垎鏄惁瀛樺湪璇ュ睘鎬?濡傛灉瀛樺湪鍒欒鍑?
2.濡傛灉娌℃湁鍒欏啀浠嶣閮ㄥ垎瀛樺偍鐨勫紩鐢?BaseClass.prototype)鎵鎸囧悜鐨勫唴瀛樺尯鍩熶腑璇誨彇璇ュ睘鎬?
浠庢楠?寮濮嬭繖灝辨槸涓笉鏂線涓婂鎵劇殑榪囩▼,鍥犱負BaseClass.prototype鎵鎸囧悜鐨勫唴瀛樺尯鍩熶篃浼氬垎涓篈鍜孊涓や釜閮ㄥ垎,濡傛灉鍐岮閮ㄥ垎涔熶笉瀛樺湪璇ュ睘鎬?鍒欏張浼氫粠鍏禕閮ㄥ垎鎵鎸囧悜鐨勫唴瀛樺尯鍩熷幓瀵繪壘璇ュ睘鎬?鑰岃鍐呭瓨鍖哄煙涔熸湁A鍜孊涓や釜閮ㄥ垎,濡傛灉A閮ㄥ垎浠嶇劧涓嶅瓨鍦?鍒欒繕瑕佷粠B閮ㄥ垎鎵鎸囧悜鐨勫唴瀛樺尯鍩熷幓瀵繪壘璇ュ睘鎬?鐩村埌杈懼埌鏈欏跺眰鐨凮bject綾?鎵浠ュ湪鏃犲艦褰撲腑灝卞艦鎴愪簡涓鏉¢摼,涔熷氨鏄垜浠父璇寸殑鍘熷瀷閾?濡傛灉鐞嗚В浜嗚繖涓繃紼嬫垜鎯充篃灝辮兘浜嗚В鍘熷瀷瀵硅薄浜?涓嬮潰綆鍗曞垎鏋愪笅b.constructor();鐨勮皟鐢ㄨ繃紼嬩究浜庡姞娣辯悊瑙?
1.js浼氬湪b鎵鎸囧悜鐨勫唴瀛樺尯鍩烝閮ㄥ垎璇誨彇constructor灞炴?
2.褰撳彂鐜版病鏈夎灞炴у悗鍐嶄粠鍏剁被鐨勬瀯閫犲嚱鏁板師鍨嬪璞″紩鐢ㄦ墍鎸囧悜鐨勫唴瀛樺尯鍩熻鍙栬灞炴?鍥犱負鍘熷瀷瀵硅薄寮曠敤鍒濆鏃舵寚鍚戜竴Object瀵硅薄鍐呭瓨鍖哄煙(BaseClass.prototype = new Object();)
3.鍐嶄粠姝bject瀵硅薄鐨凙閮ㄥ垎瀵繪壘constructor灞炴?
4.娌℃湁鎵懼埌璇ュ睘鎬у垯浠庡叾綾葷殑鍘熷瀷瀵硅薄鍗砄bject.prototype涓幓瀵繪壘constructor.
5.濡傛灉鎵懼埌璇ュ睘鎬у垯璋冪敤.
6.鍚﹀垯,鍒拌揪閾劇殑欏剁,榪斿洖.
鍒版鑳藉緢娓呮鐨勭煡閬搄s涓槸濡備綍瀹炵幇緇ф壙鐨?濡傛灉鎴戜滑鑷畾涔夌殑綾諱笉鎯崇戶鎵胯嚜Object,鍒欏彲浠ヤ慨鏀瑰叾prototype鐨勬寚鍚?鍙互璁╁叾鎸囧悜浠繪剰涓涓被,榪欐牱涔熷氨瀹炵幇浜嗙戶鎵胯嚜瀹氫箟綾?浣唈s涓墍鏈夌殑綾婚兘緇ф壙鑷狾bject綾?鎵浠ュ師鍨嬮摼鐨勫叧緋諱粛鐒跺瓨鍦?