日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS中写继承的方式

發布時間:2025/5/22 javascript 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS中写继承的方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有父子兩個函數,代表兩個類:

var parent = function(){} var child = function(){}

一、直接繼承

child.prototype = new parent(); child.prototype.constructor = child;

這種方式有風險,說是如果parent中有this,然后parent在其他地方給this混入了其他東西,child的繼承原型中就會莫名多了其他不屬于他們的東西,這樣不好。。。

二、借助中間空函數

var nop = function(){} nop.prototype = parent.prototype; child.prototype = new nop(); child.prototype.constructor = child;

空函數的辦法,就解決了第一種方法的隱患,空函數中沒有任何this相關的隱患,如果封裝在一個繼承函數里,函數外面根本拿不到里面的這個空函數,安全可靠。

三、Object.setPrototypeOf

Object.setPrototypeOf(child.prototype,parent.prototype);

該方法是ES6新增的設置原型的方法,它可以直接關聯兩個對象,而不需要重新將child的constructor手動拉回,簡單方便,實在是原型繼承,必備良藥。

四、Object.create

child.prototype = Object.create(parent.prototype);
child.prototype.constructor = child;

?此種方法也是安全可靠,使用方便無隱患,缺點也是需要手動設置一下自己的constructor.

轉載于:https://www.cnblogs.com/liujiekun/p/11532807.html

總結

以上是生活随笔為你收集整理的JS中写继承的方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。