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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js 中继承常用的几种方法

發布時間:2025/3/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js 中继承常用的几种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
繼承
  • 繼承: 就是指 一個對象 有權 去訪問 另一個對象的成員屬性
  • 作用是實現代碼的復用
  • 繼承的方式:只要能實現一個對象 有權訪問另一個對象成員 的 方式 都可以成為是 實現繼承的方式
  • 3 .繼承是對象與對象之間的關系 4.原型的方法就是給繼承使用的 #### 繼承的實現方式 4種方法 ①?擴展原有的原型 function Parent(name,age){ this.name=name; this.age=age; } function Child(){ } var p=new Parent('小紅',19); Child.prototype.name=p.name; (p.name==p.__proto__.name) Child.prototype.age=p.age; var c=new Child(); console.log(c.name); console.log(c.age); c可以訪問p的成員屬性 ② 替換原型?(也叫組合繼承常用方法) function Parent(name, age) { this.name = name; this.age = age; } function Child() { } var p = new Parent('小紅', 19); Child.prototype = p; var c = new Child(); console.log(c.name); console.log(c.age); ③混入式(最常用唉):將要被繼承 的對象成員 拷貝一份,添加到 繼承對象 var grandpa = { color: '#fff '}; var parent = { name: '小綠', age: 20 }; var child = { gender: '女' }; 混入式: for(var i in parent){ child[i] = parent[i]; } for(var i in grandpa){ child[i] = grandpa[i]; } console.log(child.grand); child繼承了 grandpa parent 這兩個對象的成員屬性 下邊不會封裝要知道上邊的!! 上邊代碼有點冗余,可以封裝: var grandpa = {color: '#fff'}; var parent = {name: '小綠', age: 20}; var child = {gender: '女'}; child.extend = function() { var k, // 枚舉對象屬性 i = 0, obj; // 緩存當前arguments的實參對象 // 遍歷arguments中的所有實參 for(; i < arguments.length; i++){ obj = arguments[i]; // 枚舉當前遍歷到的實參對象屬性 for(k in obj){ // 將屬性添加到this上 this[k] = obj[k]; } } }; child.extend(grandpa, paredt); ④ 對象冒充的方法: function parent(name, age, sex) { this.name = name; this.age = age; this.sex = sex; } function Child(name, age, sex, phone, address) { this.add = parent; this.add(name, age, sex); //調用 delete this.add; //清除內存 this.phone = phone; this.address = address; } var c = new Child('小白', 18, '男', '1381235221', '北京') console.log(c); 了解就行 es5 新增的方法 object.creat('繼承的父級元素' , '給child新添加的屬性'):實現原型鏈的繼承; var parent = {name: 'tom'}; var child = Object.create(parent, {age :{ value: 18, writable: false, configurable: true }});

    轉載于:https://www.cnblogs.com/2016-zy-3258/p/7055780.html

    總結

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

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