@鍐欏湪鍓嶉潰锛氬鍒濆鑰呮瘮杈冨弸濂斤紝鍙橀噺澹版槑涓嶉噰鐢‥S6鏍囧噯锛岃鍚冧笅闈㈢殑浣滀负涓汉鐞嗚В缁撳悎鑰佸笀涓汉涓汉瀛︿範涓殑鐞嗚В锛屽鏋滃鍠滄瀛︿範鐨勪綘鏈夋墍甯姪锛屾湰浜哄皢涓嶈儨鑽e垢銆傚璞$殑鍒涘缓鏂规硶鍙婂叾浼樼己鐐广€備笅闈㈢敤涓€涓緥瀛愭潵璇存槑杩欎釜鐭ヨ瘑鐐?.鐩存帴鍒涘缓鏂规硶/*鍒涘缓涓€涓汉浣撳璞★紝鍖呮嫭锛氬睘鎬э細濮撳悕銆佹€у埆銆佸勾榫勩€佽韩楂樸€佷綋閲嶆柟娉曪細鎺у埗鍙拌緭鍑轰釜浜轰俊鎭?/varperson={name:"寮犱笁",鎬у埆:"鐢?,骞撮緞:28,韬珮:180,浣撻噸:74,showInfo:function(){console.鏃ュ織锛堣繖涓悕瀛楋紝杩欎釜骞撮緞锛岃繖涓韩楂橈級锛泒};//杩欓噷璋冪敤showInfo杈撳嚭瀵硅薄鐨勫鍚嶃€佸勾榫勫拰韬珮person.showInfo();浼樼偣锛氱畝鍗曠矖鏆达紝鍒涘缓閫熷害蹇€傞€傚悎鍦ㄧ畝鍗曠殑椤圭洰涓嵆鏃跺垱寤哄拰浣跨敤銆備娇鐢ㄥ悗鍙互璧媙ull鍊奸噴鏀惧唴瀛?br/>缂虹偣锛氫唬鐮佸鐢ㄧ巼浣庛€傛瘮濡傚垱寤哄涓笉鍚岀殑浜猴紝闇€瑕佸垱寤哄涓璞★紝瀵艰嚧浠g爜璧勬簮瀛樺偍绌洪棿娴垂锛屼笉閫傚悎涓ぇ鍨嬮」鐩殑寮€鍙戙€傝鏂规硶鍙互涓存椂鍒涘缓鍜屼娇鐢ㄥ崟涓璞°€?br/>娉ㄦ剰锛氳繖绉嶆柟寮忓垱寤哄涓璞′細鎷栨參鍔犺浇杩涘害锛屼笉閫傚悎椤圭洰浼樺寲2.宸ュ巶妯″紡/*鍒涘缓涓変釜涓嶅悓鐨勭鏃忥紝鍖呮嫭锛氬睘鎬э細鑲よ壊銆佸鍚嶃€佸勾榫勩€佽韩楂樻柟娉曪細鏄剧ず涓汉淇℃伅灏佽涓€涓嚱鏁帮紝浼犲叆灞炴€т綔涓哄弬鏁帮紝鍒涘缓涓€涓┖瀵硅薄娣诲姞灞炴€у拰鏂规硶浣滀负浼犲叆鍙傛暟姣忔璋冪敤璇ユ柟娉曪紝鍒涘缓涓€涓猺ace瀵硅薄锛屽苟杈撳嚭锛堣繑鍥炲璞★級缁撴灉*/functioncreatePerson锛堢毊鑲ゃ€佸鍚嶃€佸勾榫勩€佽韩楂橈級{varobj={};obj.skin=鐨偆锛沷bj.name=鍚嶇О锛沷bj.age=骞撮緞锛沷bj.height=楂樺害锛況eturnobj;}//鍦ㄨ繖閲岃皟鐢ㄨ繖涓嚱鏁帮紝鍒涘缓3涓鏃忓璞arp1=createPerson("Greenrace","Adams",43,184);varp2=createPerson("钃濇棌","闃垮嚒杈?,88,197);varp3=createPerson("Redraceperson","RedDevil",500,195);console.log(p1,p2,p3);宸ュ巶妯″紡鍦ㄧ洿鎺ュ垱寤虹殑鍩虹涓婂皝瑁呬簡涓€涓嚱鏁帮紝杩欐牱璋冪敤鍑芥暟灏卞彲浠ュ疄鐜板璞$殑閲忎骇
浼樼偣锛氫娇鐢ㄥ皝瑁呭嚱鏁扮殑鏂瑰紡锛屽彲浠ュ疄鐜板璞$殑閲忎骇锛屾彁楂樹唬鐮佸鐢ㄧ巼
缂虹偣锛氬洜涓哄垱寤哄嚱鏁颁笉浼氳璋冪敤涓€娆★紝鎵€浠ヤ細寰楀埌涓€涓猳bj瀵硅薄defined锛屾墍鏈夊垱寤虹殑瀵硅薄閮界洿鎺ョ户鎵胯嚜Object锛屾棤娉曟槑纭畾涔夋瘡涓垱寤虹殑瀵硅薄鐨勫叿浣撶被鍨嬶紝濡傛灉涓氬姟涓渶瑕佸垽鏂叾鍘熷瀷锛屽垯鏃犳硶搴旂敤銆傚綋鐒讹紝鏈変竴绉嶆柟娉曞彲浠ユ弧瓒抽渶姹傘€備笅闈㈢殑鏂规硶鏄€氳繃瀵圭被鐨勭悊瑙o紙濡傛灉涓嶆槸鍥犱负js娌℃湁绫伙級锛岀敤鏋勯€犲嚱鏁版ā鎷熺被鍒涘缓鐨勫璞★紝杩樻湁涓€涓紭鍖栫殑鏂规硶3.鏋勯€犲嚱鏁版柟娉曠煡璇嗚ˉ鍏咃細鏅€歠unctionVSconstructor鏅€氬嚱鏁帮細functionpersonEat([鍙傝€?锛屽弬鑰?锛屽弬鑰?..]){鍑芥暟浣搣[]-[]涓殑鍐呭-鍙€夈€傛牴鎹偍鐨勯渶瑕佹洿鏀规瀯閫犲嚱鏁帮細functionPerson([ref.1,refer2,referto...]){function鏁颁綋}鏅€氬嚱鏁板拰鏋勯€犲嚱鏁扮殑瀹氫箟鍩烘湰鐩稿悓锛屽彧鏄懡鍚嶄範鎯笉鍚岋紝鍥犱娇鐢ㄦ柟娉曚笉鍚岃€屾湁杈冨ぇ宸紓鏅€氬嚱鏁帮細浣跨敤锛氬嚱鏁板悕([鍙傛暟1,鍙傛暟2,鍙傛暟...]);鐩存帴璋冪敤锛屼娇鐢ㄥ叾姝ラ鍑芥暟鏋勯€犲嚱鏁帮細鏋勯€犲嚱鏁颁娇鐢╪ew鍏抽敭瀛楀疄渚嬪寲涓哄璞°€?/绫伙紙class锛夛細涓€绫讳簨鐗╃殑鎬荤О鈥斺€旈€氳繃绫诲垱寤哄搴旂殑瀵硅薄//js娌℃湁绫伙紝鎵€浠ョ被鍙互閫氳繃鏋勯€犲嚱鏁版潵妯℃嫙锛?鏍稿績鎬濇兂锛氭敼鍙榯his鐨勬柟鍚戞€?/simulate(create)astudentClass(constructor)functionStudent(name,age,height){//---铏界劧鍜岀洿鎺ュ0鏄庝竴涓嚱鏁版槸鍚屼竴涓柟娉曪紝浣嗘槸鍥犱负瀹冪殑鍐呭涓嶅悓//---鍥犱负瀵硅薄闇€瑕佽閫氳繃new鏉ュ垵濮嬪寲Thisis涓€涓爣鍑嗙殑鏋勯€犲嚱鏁帮紙*娉ㄦ剰锛氳繖閲屽嚱鏁板悕鐨勯瀛楁瘝瑕佸ぇ鍐欙級this.name=name;杩欎釜銆傚勾榫?骞撮緞锛泃his.height=楂樺害锛泃his.showInfo=function(){console.log(this.name);}}//浣跨敤new鍒涘缓骞跺垵濮嬪寲Student瀵硅薄鐨勫疄渚媣arstu1=newStudent("寮犱笁",18,180);varstu2=newStudent("鏉庡洓",34,175);varstu3=newStudent("鐜嬮夯瀛?,32,190);console.log(stu1,stu2,stu3);//杩欓噷瑕佹槑鐧斤紝new鏄仛浠€涔堢殑锛?/1.鍒涘缓涓€涓┖瀵硅薄{}//2銆傚湪鎵ц鍑芥暟浠g爜涓紝璁╁嚱鏁板唴閮ㄧ殑this鎸囧悜涓€涓┖瀵硅薄//3銆傝繑鍥炲垱寤虹殑瀵硅薄//杩欐牱鏃㈠彲浠ュ疄鐜伴噺浜э紝鍙堝彲浠ラ€氳繃instanceof妫€娴嬪璞$殑鍘熷瀷鏄叿浣撶殑绫?/铏界劧涔熸槸缁ф壙鑷狾bject锛屼絾鏄師鍨嬫槸console.log(stu1instanceofStudent);console.log(stu1instanceof瀵硅薄);console.log(StudentinstanceofObject);褰撶劧锛岃繖绉嶆柟娉曞垱寤哄拰灏佽杩欐牱鐨勬柟娉曞垱寤哄璞℃槸姣旇緝绠€鍗曠洿鎺ョ殑锛屽凡缁忔槸鈥滅▼搴忓憳鐨勪竴灏忔锛屼笘鐣屽彂灞曠殑涓€澶ф鈥濅簡锛屼絾鏄兘涓嶈兘浼樺寲涓€涓嬪憿锛熸瘮濡傚湪瑙f瀽浠g爜鐨勯€熷害鏂归潰锛屾彁鍗囨祻瑙堝櫒鎬ц兘銆備粩缁嗚瀵熶細鍙戠幇锛屽垱寤哄悓涓€涓被锛堟瀯閫犲嚱鏁帮級鐨勪笉鍚屽璞℃椂锛岄櫎浜嗗睘鎬у弬鏁颁笉鍚屽锛岃涓烘垨鍏朵粬鍔ㄤ綔涔熸湁閲嶅锛屼緥濡傦細//鍒涘缓瀛︾敓绫伙紙鏋勯€犲嚱鏁帮級)functionStudent(鎬у埆,濮撳悕,骞撮緞,韬珮){this.genderthis.name=name;杩欎釜銆傚勾榫?骞撮緞锛泃his.showInfo=function(){console.log(this.name);}}varstu1=newStudent("寮?",18,179);varstu2=newStudent("鐜嬪洓",22,181);涓変釜涓嶅悓鐨勫璞★紝鍙互鐩存帴鐪嬪嚭灞炰簬鍚屼竴涓猄tudent鏋勯€犲嚱鏁帮紝骞朵笖showInfo鐨勫悕绉板拰鍔熻兘閮界浉鍚岋紝鐢变簬姣忎釜瀵硅薄瀹炵幇鐨勬瘡涓璞$殑鍔熻兘鏄浉鍚岀殑锛屾墍浠ユ瘡涓璞$殑鍔熻兘鏄惁鐩哥瓑锛歝onsole.log(stu1.showInfo==stu2.showInfo);//false杈撳嚭缁撴灉涓篺alse锛岃鏄庡悓涓€涓被鍒涘缓鐨勫璞¤櫧鐒跺疄鐜颁簡涓€浜涘姛鑳界浉鍚岋紝浣嗗苟涓嶄唬琛ㄥ畠浠槸鐩哥瓑鐨勩€備篃灏辨槸璇达紝姣忎釜瀵硅薄涓殑姣忎釜鍑芥暟閮藉紑杈熶簡涓€涓嫭绔嬬殑绌洪棿銆傚鏋滈」鐩腑涓€浜涘姛鑳界浉鍚岀殑鏂规硶涓诲鐨勯€昏緫杈冨锛屼細澧炲姞鍐呭瓨鍘嬪姏浼樼偣锛氬彲浠ラ€氳繃鏋勯€犳柟娉曞疄鐜板璞$殑鎵归噺鐢熶骇锛屼篃鍙互鍒ゆ柇涓€涓璞$殑鍏蜂綋绫诲瀷.杩欎釜鏂规硶绠€鐩村氨鏄仮澶嶉」鐩椂鐨勭鎵?br/>缂虹偣锛氫笉鍚岀殑瀵硅薄浣跨敤鍚屼竴涓瀯閫犲嚱鏁版湁涓€浜涚浉鍚岀殑鏂规硶锛屼絾鏄繖浜涙柟娉曟病鏈夊紑杈熷叕鍏辩┖闂达紝瀵艰嚧鍐呭瓨娑堣€楋紝灏辨槸涓嶅埄浜庨」鐩紭鍖栥€傛墍浠ユ病鏈夊姙娉曚紭鍖栬繖涓搷浣溿€傚悓鏍风殑鏂规硶鍙互鍦ㄥ唴瀛樹腑寮€杈熶竴涓叕鍏辩┖闂存潵瀛樺偍鍑芥暟鍚楋紵绛旀鏄偗瀹氱殑锛佸彲浠ヤ娇鐢╜prototypecreation`鐨勬柟娉曪紝瀹冩槸constructor鏂规硶鐨勫寮虹増锛屼笉浠呭疄鐜颁簡瀵硅薄鍒涘缓鐨勫悇绉嶉棶棰橈紝杩樿妭鐪佷簡鍐呭瓨璧勬簮锛屾敼鍠勪簡闈㈠悜瀵硅薄缂栫▼鐨勮祫婧愭秷鑰楅棶棰樸€?.鍘熷瀷鍒涘缓瀵硅薄---鍏跺疄鏄竴涓紭鍖栫殑鏋勯€犲嚱鏁板垱寤烘柟娉曟湁涓€涓猍[prototype]]灞炴€с€傝繖涓睘鎬у€煎氨鏄€氳繃鍚屼竴涓瀯閫犲嚱鏁板垱寤哄師鍨嬬殑瀵硅薄锛屽畠鐨勫師鍨嬫槸涓€鏍风殑銆?/鑾峰彇瀵硅薄鐨勫師鍨?/閫氳繃锛歰bject.__proto__鑾峰彇瀵硅薄鐨勫師鍨?/渚嬪锛歷arstu1=newStudent();varstu2=newStudent();console.log(stu1.__proto__==stu2.__proto__);//缁撴灉涓簍rue锛岃鏄庡悓绫诲瀷鍒涘缓鐨勫璞¤櫧鐒跺姛鑳界浉鍚屼絾鏄笉鍦ㄥ悓涓€涓唴瀛樼┖闂达紝浣嗘槸瀹冧滑鐨勫師鍨嬫槸鐩稿悓鐨勩€傝繖鏍锋垜浠氨鍙互灏嗘瀯閫犲嚱鏁颁腑涓€浜涚浉鍚岀殑鏂规硶瀹氫箟鍒板悓涓€涓被鐨勫師鍨嬩腑锛岃繖鏍蜂笉鍚岀殑瀵硅薄灏卞彲浠ラ€氳繃鍘熷瀷璋冪敤鍚屼竴涓嚱鏁帮紝浠庤€岃妭鐪佷簡鍐呭瓨璧勬簮鐨勬秷鑰楋紝浼樺寲浜嗘祻瑙堝櫒鐨勬€ц兘銆傛敞鎰忥細杩欓噷鏄痗onstructorTheprototype==theprototype==theprototypeoftheinstantiatedobject锛屽皢鍏变韩鏂规硶锛堝嚱鏁帮級鍐欏叆鍒版瀯閫犲嚱鏁扮殑鍘熷瀷锛坧rototype锛変腑锛屾剰鎬濇槸灏嗗叡浜柟娉曪紙鍑芥暟锛夊啓鍏ュ埌瀹炰緥鍖栧璞$殑鍘熷瀷锛坃_proto__锛変腑瀹炰緥鍖栧璞★紝鏋勯€犲嚱鏁扮殑鍘熷瀷锛坧rototype锛夊璞′腑鐨勬柟娉曞彲浠ョ洿鎺ヨ瀹炰緥鍖栧璞¤闂紝鎵€浠ユ湁涓€涓紭鍖栫殑鏂规硶锛屽涓嬶細//瀹氫箟涓€涓暀甯堟瀯閫犲嚱鏁癟eacher(name,age,height){this.name=鍚嶅瓧锛涜繖涓€傚勾榫?骞撮緞锛泃his.height=height;}Teacher.prototype.showInfo=function(){console.log(this.name);}//杩樻湁涓€绉嶅啓娉?--褰撴湁澶氫釜鍑芥暟锛堟柟娉曪級Teacher.prototype={showInfo:function(){console.log(this.name);},璇?function(){console.log("helloworld");}};//瀹炰緥鍖栧璞artea1=newTeacher("姹兜",23,182);vartea2=newTeacher("寮犵泭杈?,24,175);console.log(tea1,tea2);杩欐牱涓嶅悓鐨勫璞℃嫢鏈夌浉鍚岀殑鏋勯€犲嚱鏁板拰鍘熷瀷鏄浉鍚岀殑锛屾墍浠ュ綋瀹炵幇鐨勫嚱鏁拌鏀惧叆鍘熷瀷鍚庯紝鍏勫紵浠紙瀵硅薄锛変滑灏卞彲浠ヤ粠姝ゅ紑鍚叡浜ā寮忎簡馃纭畾~鏈€鍚庢潵涓猯ookatvartea1=newTeacher("姹兜",23,182);vartea2=newTeacher("ZhangYida",24,175);console.log(tea1.showInfo==tea2.showInfo);绛旀鏄偗瀹氱殑---璋冪敤true鏃讹紝鏍规嵁涓嶅悓鐨則his鐐硅緭鍑轰笉鍚岀殑缁撴灉涓嶅悓瀵硅薄鐨則ea1.showInfo();tea2.showInfo();浼樼偣锛氫娇鐢╟onstructor鏂规硶鍙互瀹炵幇瀵硅薄鐨勬壒閲忕敓浜э紝杩樺彲浠ュ垽鏂璞$殑鍏蜂綋绫诲瀷锛屼紭鍖栧唴瀛樿祫婧愭秷鑰楋紙鑺傜渷鍐呭瓨锛夈€?--浣跨敤浼樺寲鏂规硶鍒涘缓瀵硅薄锛屽叕鍏辨柟娉曟斁鍦ㄦ瀯閫犲嚱鏁扮殑鍘熷瀷涓紝绉佹湁鏂规硶鏀惧湪鏋勯€犲嚱鏁颁腑--------------------鏈瘒鍐呭鍒版缁撴潫----------------绛夌瓑锛岀瓑绛夛紝绛夌瓑锛岀瓑绛夛紒鎴戜技涔庨敊杩囦簡浠€涔堬紒鏄柊鐨勫綋鐒舵湁鏃跺€欐垜浠篃鍙互鐢ㄦ渶鍘熷鐨勬柟寮忓垱寤哄璞?/鍒涘缓涓€涓璞″苟鐢ㄥ畠鏉ョ粨濠歭etgirlfriend=newObject();girlfrend.name="灏忚姵";girlfrend.age=18;濂虫湅鍙嬨€俬eight=178;girlfrend.say=function(isay){while(true){alert("璇翠綘鐖辨垜");if(isay==鈥滄垜鐖卞皬鑺斥€?{break;}}}grilfriend.say("鎴戝彧鏄寰楄繖鏄竴鍦烘ⅵ");
