如何更加简单的理解JS中的原型原型链概念 js里面的继承该怎么理解,原型链是什么概念,这方面的内容很重...

\u600e\u4e48\u7406\u89e3javascript\u539f\u578b\u94fe

\u5148\u4e3e\u4e00\u4e2a\u975e\u5e38\u7b80\u5355\u7684\u4f8b\u5b50\uff0c\u6211\u6709\u4e00\u4e2a\u7c7b\u53ebHumans\uff08\u4eba\u7c7b\uff09\uff0c\u7136\u540e\u6211\u6709\u4e00\u4e2a\u5bf9\u8c61\u53ebTom\uff08\u4e00\u4e2a\u4eba\uff09\u548c\u53e6\u4e00\u4e2a\u5bf9\u8c61\u53ebMerry(\u53e6\u4e00\u4e2a\u4eba)\uff0c\u5f88\u660e\u663eTom\u548cMerry\u90fd\u662f\u7531Humans\u8fd9\u4e00\u4e2a\u7c7b\u5b9e\u4f8b\u5316\u4e4b\u540e\u5f97\u5230\u7684\uff0c\u7136\u540e\u53ef\u4ee5\u628a\u8fd9\u4e2a\u4f8b\u5b50\u5199\u6210\u5982\u4e0b\u4ee3\u7801\uff1afunctionHumans(){this.foot=2;}Humans.prototype.ability=true;varTom=newHumans();varMerry=newHumans();alert(Tom.foot);//\u7ed3\u679c\uff1a2alert(Tom.ability);//\u7ed3\u679c\uff1atruealert(Merry.foot);//\u7ed3\u679c\uff1a2alert(Merry.ability);//\u7ed3\u679c\uff1atrue\u4ee5\u4e0a\u662f\u4e00\u4e2a\u975e\u5e38\u7b80\u5355\u7684\u9762\u5411\u5bf9\u8c61\u7684\u4f8b\u5b50\uff0c\u76f8\u4fe1\u90fd\u80fd\u770b\u61c2\uff0c\u5982\u679c\u5c1d\u8bd5\u4fee\u6539Tom\u7684\u5c5e\u6027ability\uff0c\u5219functionHumans(){this.foot=2;}Humans.prototype.ability=true;varTom=newHumans();varMerry=newHumans();Tom.ability=false;alert(Tom.foot);//\u7ed3\u679c\uff1a2alert(Tom.ability);//\u7ed3\u679c\uff1afalsealert(Merry.foot);//\u7ed3\u679c\uff1a2alert(Merry.ability);//\u7ed3\u679c\uff1atrue\u4ee5\u4e0a\u53ef\u4ee5\u770b\u51faTom\u7684ability\u5c5e\u6027\u7684\u503c\u6539\u53d8\u4e86\uff0c\u4f46\u5e76\u4e0d\u5f71\u54cdMerry\u7684ability\u5c5e\u6027\u7684\u503c\uff0c\u8fd9\u6b63\u662f\u6211\u4eec\u60f3\u8981\u7684\u7ed3\u679c\uff0c\u4e5f\u662f\u9762\u5411\u5bf9\u8c61\u7684\u597d\u5904\uff0c\u7531\u540c\u4e00\u4e2a\u7c7b\u5b9e\u4f8b\u5316\u5f97\u5230\u7684\u5404\u4e2a\u5bf9\u8c61\u4e4b\u95f4\u662f\u4e92\u4e0d\u5e72\u6270\u7684\uff1bOK\uff0c\u63a5\u4e0b\u6765\u7ed9ability\u6362\u6210object\u5bf9\u8c61\u53c8\u5982\u4f55?\u4ee3\u7801\u5982\u4e0b\uff1afunctionHumans(){this.foot=2;}Humans.prototype.ability={run:'100\u7c73/10\u79d2',jump:'3\u7c73'};varTom=newHumans();varMerry=newHumans();Tom.ability={run:'50\u7c73/10\u79d2',jump:'2\u7c73'};alert(Tom.ability.run);//\u7ed3\u679c\uff1a'50\u7c73/10\u79d2'alert(Tom.ability.jump);//\u7ed3\u679c\uff1a'2\u7c73'alert(Merry.ability.run);//\u7ed3\u679c\uff1a'100\u7c73/10\u79d2'alert(Merry.ability.jump);//\u7ed3\u679c\uff1a'3\u7c73'\u4ee5\u4e0a\u4ee3\u7801\u5c31\u662f\u5728\u539f\u578b\u94fe\u4e0a\u4f7f\u7528\u4e86\u5bf9\u8c61\uff0c\u4f46\u4ece\u4ee5\u4e0a\u4ee3\u7801\u53ef\u4ee5\u770b\u51faTom\u7684ability\u5c5e\u6027\u7684\u6539\u53d8\u4f9d\u7136\u4e1d\u6beb\u4e0d\u4f1a\u5f71\u54cdMerry\u7684ability\u7684\u5c5e\u6027\uff0c\u4e8e\u662f\u4e4e\u4f60\u4f1a\u89c9\u5f97\u8fd9\u6837\u7684\u505a\u6cd5\u5e76\u65e0\u4e0d\u59a5\uff0c\u4e3a\u4ec0\u4e48\u8bf4\u4e0d\u80fd\u5728\u539f\u578b\u94fe\u4e0a\u4f7f\u7528\u5bf9\u8c61?\u63a5\u4e0b\u6765\u7684\u4ee3\u7801\u5c31\u4f1a\u663e\u5f97\u5f88\u4e0d\u4e00\u6837\uff0c\u5e76\u4e14\u53ef\u4ee5\u5b8c\u5168\u8868\u8fbe\u51fa\u539f\u578b\u94fe\u4e0a\u4f7f\u7528\u5bf9\u8c61\u7684\u5371\u9669\u6027\uff1afunctionHumans(){this.foot=2;}Humans.prototype.ability={run:'100\u7c73/10\u79d2',jump:'3\u7c73'};varTom=newHumans();varMerry=newHumans();Tom.ability.run='50\u7c73/10\u79d2';Tom.ability.jump='2\u7c73';alert(Tom.ability.run);//\u7ed3\u679c\uff1a'50\u7c73/10\u79d2'alert(Tom.ability.jump);//\u7ed3\u679c\uff1a'2\u7c73'alert(Merry.ability.run);//\u7ed3\u679c\uff1a'50\u7c73/10\u79d2'alert(Merry.ability.jump);//\u7ed3\u679c\uff1a'2\u7c73'\u6ca1\u9519\uff0c\u4ece\u4ee5\u4e0a\u4ee3\u7801\u7684\u8f93\u51fa\u7ed3\u679c\u53ef\u4ee5\u770b\u51faTom\u7684ability\u5c5e\u6027\u7684\u6539\u53d8\u5f71\u54cd\u5230Merry\u7684ability\u5c5e\u6027\u4e86\uff0c\u4e8e\u662f\u5c31\u53ef\u4ee5\u660e\u767d\u5728\u539f\u578b\u94fe\u4e0a\u4f7f\u7528\u5bf9\u8c61\u662f\u975e\u5e38\u5371\u9669\u7684\uff0c\u5f88\u5bb9\u6613\u4f1a\u6253\u7834\u5b9e\u4f8b\u5316\u5bf9\u8c61\u4e4b\u95f4\u7684\u76f8\u4e92\u72ec\u7acb\u6027\uff0c\u8fd9\u5c31\u662f\u4e3a\u4ec0\u4e48\u4e0d\u80fd\u5728\u539f\u578b\u94fe\u4e0a\u4f7f\u7528\u5bf9\u8c61\u7684\u539f\u56e0?\u662f\u7684\uff0c\u4f46\u6211\u60f3\u8bf4\u7684\u53ef\u4e0d\u53ea\u5982\u6b64\uff0c\u800c\u662f\u5176\u4e2d\u7684\u539f\u7406\uff0c\u770b\u5b8c\u540e\u9762JS\u539f\u578b\u94fe\u7684\u6df1\u5c42\u539f\u7406\u4e4b\u540e\uff0c\u76f8\u4fe1\u4f60\u4f1a\u5b8c\u5168\u660e\u767d\u3002\u5728\u4ee5\u4e0b\u7b2c\u4e8c\u90e8\u4efd\u89e3\u91caJS\u539f\u578b\u94fe\u7684\u6df1\u5c42\u539f\u7406\u4e4b\u524d\uff0c\u5148\u6765\u660e\u786e\u4e00\u4e2a\u6982\u5ff5\uff1a\u539f\u578b\u94fe\u4e0a\u7684\u5c5e\u6027\u6216\u65b9\u6cd5\u90fd\u662f\u88ab\u5b9e\u4f8b\u5316\u5bf9\u8c61\u5171\u7528\u7684\uff0c\u6b63\u56e0\u5982\u6b64\uff0c\u4e0a\u9762\u7684Tom.ability.run='50\u7c73/10\u79d2'\uff0c\u6539\u52a8\u4e86\u539f\u578b\u8fde\u4e0a\u7684ability\u624d\u5bfc\u81f4\u53e6\u4e00\u4e2a\u5bf9\u8c61Merry\u53d7\u5f71\u54cd\uff0c\u65e2\u7136\u5982\u6b64\uff0c\u4f60\u53ef\u80fd\u4f1a\u95eeTom.ability={}\u4e0d\u4e5f\u662f\u6539\u52a8\u4e86\u539f\u578b\u94fe\u4e0a\u7684ability\u5417\uff0c\u4e3a\u4ec0\u4e48Merry\u6ca1\u6709\u53d7\u5f71\u54cd?\u7b54\u6848\u662fTom.ability={}\u5e76\u6ca1\u6709\u6539\u52a8\u539f\u578b\u94fe\u4e0a\u7684ability\u5c5e\u6027\uff0c\u800c\u662f\u4e3aTom\u6dfb\u52a0\u4e86\u4e00\u4e2a\u81ea\u6709\u5c5e\u6027ability\uff0c\u4ee5\u540e\u8bbf\u95eeTom.ability\u7684\u65f6\u5019\u4e0d\u518d\u9700\u8981\u8bbf\u95ee\u539f\u578b\u94fe\u4e0a\u7684ability\uff0c\u800c\u662f\u8bbf\u95ee\u5176\u81ea\u6709\u5c5e\u6027ability\uff0c\u8fd9\u662f\u5c31\u8fd1\u539f\u5219\u3002

\u7b80\u5355\u6765\u8bf4 \u7ee7\u627f \u5c31\u662f\u4e00\u4e2a\u7c7bB \u662f\u7531\u53e6\u4e00\u4e2a\u7c7b A \u7ee7\u627f\u6765\u7684, \u90a3\u4e48 B\u5728\u4e00\u5f00\u59cb\u5c31\u62e5\u6709\u4e86A \u7684\u6240\u6709\u5c5e\u6027\u548c\u65b9\u6cd5, \u7c7bB \u81ea\u5df1\u5728\u589e\u52a0\u4e00\u4e9b\u5c5e\u6027\u548c\u65b9\u6cd5 \u540e \u540e\u6765\u7684\u7c7bC \u7ee7\u627f\u81ea\u7c7b B , \u90a3\u4e48 \u7c7b C \u4e00\u5f00\u59cb \u5c31\u62e5\u6709\u4e86 \u7c7bA \u7684 \u6240\u6709\u5c5e\u6027\u548c\u65b9\u6cd5 \u548c \u7c7b B \u65b0\u52a0\u7684\u5c5e\u6027\u548c \u65b9\u6cd5 , \u540c\u7406 \u7ee7\u627f\u7c7bc \u7684\u7684 \u4e5f\u62e5\u6709 a b c \u7684\u5c5e\u6027\u548c\u65b9\u6cd5 ;

\u4e0a\u4f8b\u4e2d : c \u662fD\u7684\u539f\u578b , B \u662f C\u7684\u539f\u578b , A \u662fB \u7684\u539f\u578b , \u8fd9\u5c31\u662f\u539f\u578b\u94fe .
\u8fd9\u65b9\u9762\u7684\u5185\u5bb9 \u5f88\u91cd\u8981; \u56e0\u4e3a\u5728\u7a0b\u5e8f\u5f00\u53d1\u4e2d \u8981\u5b8c\u6210\u4e00\u4e2a\u590d\u6742\u7684\u529f\u80fd \u90fd\u662f\u628a\u590d\u6742\u7684\u529f\u80fd\u5206\u89e3\u6210\u4e00\u4e2a\u4e2a\u7b80\u5355\u7684\u5c0f\u5757 , \u4e00\u8def\u7ee7\u627f\u4e0b\u53bb \u76f4\u5230\u5b8c\u6210\u6240\u6709\u529f\u80fd,
\u6bd4\u5982\u8bf4\u8981\u63a5\u6536\u4e00\u7bc7\u6587\u7ae0, \u9996\u5148\u505a\u51fa\u4e00\u4e2a\u7c7bA \u6765\u63a5\u6536\u4e00\u4e2a\u5b57\u6bcd , \u518d \u662f\u7c7bB \u63a5\u6536 \u4e00\u4e2a\u5355\u8bcd, \u63a5\u4e0b\u6765\u4e00\u4e2a\u7c7b C \u63a5\u53d7\u4e00\u884c, \u6700\u540e\u662f\u7c7b D \u63a5\u53d7\u6574\u7247\u6587\u7ae0.

原型是上一辈,原型链就是直系血缘关系,上一辈的很多东西可以遗传到下一辈。
这样理解有误差,但是也差不多了。

  • web鍓嶇:鐞嗚Вjs鍘熷瀷閾
    绛旓細1銆佸涔鍘熷瀷閾句箣鍓嶆垜浠厛璁よ瘑涓涓嬫瀯閫犲嚱鏁帮紝浠g爜濡備笅锛歠unction S() { this.name = xxx;this.say = function() { console.log(this.name) } } var s1 = new S();鍏朵腑锛宻1鏄疭鐨勫疄渚嬶紝s1鐨刜_proto__锛堝ぇ瀹跺厛涓嶇敤绠_proto__灞炴э紝鍚庣画浼氳鍒帮級涓湁涓涓猚onstructor锛堟瀯閫犲嚱鏁帮級灞炴э紝璇ュ睘鎬...
  • js鍘熷瀷鍜屽師鍨嬮摼鐨勭悊瑙鏄粈涔?
    绛旓細1锛屾瘮濡傛垜浠繕瑕侀拡瀵瑰鐢熺粺璁℃瘡涓汉鐨勬诲垎鏄灏戯紝鎴戜滑鏀归犳瀯閫犲嚱鏁癙erson锛屾瀯閫犲嚱鏁颁笂鏈変釜 prototype灞炴э紝杩欎釜灞炴у氨鏄繖涓瀯閫犲嚱鏁扮殑鍘熷瀷锛堟樉寮忓師鍨锛夛紝杩欎釜鍘熷瀷鏄嚱鏁扮壒鏈夛紝prototype瀵硅薄榛樿鏈変袱涓睘鎬э紝constructor灞炴у拰__proto__灞炴с2锛宑onstructor锛岃繖涓睘鎬у寘鍚簡涓涓寚閽堬紝鎸囧洖鍘熸瀯閫犲嚱鏁般傞氳繃鎺у埗...
  • 闈㈣瘯闂js鍘熷瀷鎬庝箞鐞嗚В
    绛旓細1.缁ф壙灞炴 JavaScript 瀵硅薄鏄姩鎬佺殑灞炴р滃寘鈥濓紙鎸囧叾鑷繁鐨勫睘鎬э級銆侸avaScript 瀵硅薄鏈変竴涓寚鍚戜竴涓師鍨嬪璞$殑閾銆傚綋璇曞浘璁块棶涓涓璞$殑灞炴ф椂锛屽畠涓嶄粎浠呭湪璇ュ璞′笂鎼滃锛岃繕浼氭悳瀵昏瀵硅薄鐨勫師鍨嬶紝浠ュ強璇ュ璞$殑鍘熷瀷鐨勫師鍨嬶紝渚濇灞傚眰鍚戜笂鎼滅储锛岀洿鍒版壘鍒颁竴涓悕瀛楀尮閰嶇殑灞炴ф垨鍒拌揪鍘熷瀷閾剧殑鏈熬銆備笅闈㈢殑浠g爜灏嗘紨绀...
  • Js鍘熷瀷(prototype)01
    绛旓細1.鍘熷瀷鏄 function瀵硅薄鐨勪竴涓睘鎬э紝鏄瀯閫犲嚱鏁版瀯閫犲嚭瀵硅薄鐨勫叕鏈夌鍏堬紝鑰屽師鍨嬫湰韬篃鏄竴涓璞銆 2.浠庡師鍨嬬殑姒傚康鍑哄彂锛屾垜浠彲浠ョ敤鏋勯犲嚱鏁版瀯閫犲嚭鐨勫璞℃彁鍙栧師鍨嬩笂鐨勫睘鎬с 3.鍥犱负鍘熷瀷涔熸槸涓涓璞★紝鎵浠ュ師鍨嬫湰韬鑷繁鐨勫睘鎬ф湁澧炲垹鏀规煡鐨勬潈鍒┿ 4.瀵硅薄濡備綍鐭ラ亾鑷繁鐨勫師鍨嬫槸璋侊紝鍙互閫氳繃瀵硅薄涓殑...
  • 璇锋暀楂樻墜涓涓狫AVASCRIPT涓鍘熷瀷鐨勯棶棰,璇烽氫織瑙i噴濡備笅鍘熷瀷PROTOTYPE:
    绛旓細employee.prototype.hellow2 = function()//鎴戜滑鍐嶇粰employee绫绘坊鍔爃ellow2鐨勫師鍨鏂规硶锛岄亾鐞嗗悓涓 { alert(this.name);} var bill2 = new employee("Bill Gates","Engineer",1985);bill2.hellow2();//杩欎釜璇彞浼氭垚鍔燂紝鍥犱负bill2宸茬粡鍏锋湁浜唄ellow2鏂规硶锛堝厛娉ㄩ噴鎺変笂闈㈠け璐ョ殑璇彞锛屽洜涓哄け璐ヤ細瀵艰嚧澶у鏁...
  • 浠涔堟槸JS鐨勫師鍨灞炴,浠涔堟槸鑷韩灞炴???
    绛旓細鍦ㄥ疄渚嬩笂娣诲姞涓鍘熷瀷鍚屽悕鐨勫睘鎬у垯浼氳鐩栨帀鍘熷瀷涓婄殑鍚屽悕灞炴// 鏈绠鍗曠殑浣跨敤hasOwnProperty()鏂规硶鍒ゆ柇灞炴ф槸涓涓疄渚嬪睘鎬(鑷韩灞炴)杩樻槸鍘熷瀷灞炴lert(person1.hasOwnProperty('age'));//truealert(Person.hasOwnProperty('age')); //false// 浣跨敤delete鎿嶄綔绗﹀彲浠ュ畬鍏ㄥ垹闄よ嚜韬睘鎬lert(person1.name);...
  • 鍏充簬js鐨闂,鍘熷瀷涓嶆槸瀵硅薄鍚,鍘熷瀷涓婄殑鏂规硶涓嶈兘閫氳繃璇ュ師鍨嬬洿鎺...
    绛旓細棣栧厛绠鍗璇翠竴涓嬪師鍨嬪璞★紝鍘熷瀷瀵硅薄纭垏鐨勮搴旇鏄嚱鏁鐨勫師鍨瀵硅薄锛屾棤璁哄湪浠涔堟椂鍊欙紝鍙鍒涘缓浜嗕竴涓柊鐨勫嚱鏁帮紝灏变細鏍规嵁涓缁勭壒瀹氱殑瑙勫垯涓鸿鍑芥暟鍒涘缓涓涓猵rototype灞炴э紝杩欎釜灞炴ф寚鍚戝嚱鏁扮殑鈥滃師鍨嬪璞♀濓紝鑰岃繖涓璞$殑鏈澶х敤閫斿氨鏄寘鍚墍鏈夊疄渚嬪叡浜殑灞炴у拰鏂规硶銆備娇鐢ㄥ師鍨嬪璞$殑濂藉鏄彲浠ヨ鎵鏈夊璞″疄渚嬪叡浜畠鎵...
  • 濡備綍鐞嗚Вjavascript鍘熷瀷閾
    绛旓細棣栧厛鍒癳瀵硅薄鍐呴儴鏌ユ壘鍙互鎵惧埌emp,鍒犻櫎鍚庣劧鍚庡埌e瀵硅薄鐨勫師鍨涓紙prototype锛夊幓鏌ユ壘name灞炴ф鏃舵壘鍒皃rotoName鍐嶅垹闄,姝ゆ椂鍙戠幇绋嬪簭鎵ц鐨勬祦绋嬫槸鍒癙erson鐨勫師鍨嬩腑鍘绘壘鍑轰簡rose,鐢辨鍙浠g爜琛1涓璄mployee鐨勫師鍨嬪叧鑱斿埌浜哖erson锛岀浉褰撲簬Person鏄疎mployee鐨勭埗绫汇傝鑰呭彲鑳戒細鍙戠幇涓婇潰杩欐鎻忚堪鍐欑殑寰堟暦琛 涓轰粈涔堥『搴忎笉鏄...
  • js鍘熷瀷閾惧拰缁ф壙鐨勭悊瑙
    绛旓細1.鍘熷瀷缁ф壙閾鹃《绔负Object 銆Js鍑芥暟鏄璞 2.褰撹鍙栧璞′腑鐨勫睘鎬ф椂锛屽厛鍘诲疄渚嬫湰韬腑鎼滅储锛屽鎼滅储涓嶅埌鍒欏幓鎸囧悜鐨勫師鍨涓悳绱 1.鍘熷瀷鐨勫瓨鍦ㄦ剰涔夊湪浜庡疄鐜扮户鎵垮叡浜紝鏄湪鏋勯犲嚱鏁颁腑瀹氫箟鐨勪竴涓垚鍛樺璞★紝鍦ㄤ笅娆″疄渚嬪寲鏃朵笉闇瑕佸湪鏋勯犲嚱鏁颁腑瀹氫箟鎴愬憳 灏卞彲瀹炵幇瀹炰緥鍏变韩鏂规硶灞炴с 渚嬪瓙锛氶氬父涓恒 鏋勯犲嚱鏁...
  • javascript 鍩虹 js绫诲拰鍘熷瀷鍒板簳鏄粈涔
    绛旓細鍏跺疄绠鍗鏉ヨ锛鍘熷瀷灏辨槸涓涓璞″鍙︿竴涓璞$殑寮曠敤銆傜劧鍚庡叾鏄鎬庝箞鑱旂郴璧锋潵鐨勫憿锛屾槸閫氳繃prototype銆傚灏辨槸杩欎釜锛岀粰浣犱竴涓緥瀛 var obj = {a: 2}var myObj = Object.create(obj);console.log(myObj.a); // 2console.log(myObj === obj); // falseconsole.log(Object.getPrototypeOf(myObj...
  • 扩展阅读:扫一扫题目出答案 ... 如何引入另一个js中的方法 ... 女生js什么意思 ... js实现简单左右切换图片 ... 如何自学编写脚本 ... 个人如何推行5s工作 ... 高情商的回话技巧 ... 谈谈你对放管服的理解 ... json转map最快的方法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网