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

歡迎訪問 生活随笔!

生活随笔

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

javascript

JavaScript从入门到放弃 -(二)继承

發布時間:2024/9/27 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript从入门到放弃 -(二)继承 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 1. Call()
  • 2.子構造函數繼承父構造函數中的屬性
  • 3. 借用原型對象繼承方法

1. Call()

它的作用是:

  • call()可以調用函數;
  • call()可以修改函數運行時this的指向:使用call()的時候,參數1是修改后的this指向,參數2,參數3...使用逗號隔開連接。
fun.call(thisArg,arg1,arg2,...) thisArg:當前調用函數`this`的指向對象; arg1,arg2...:傳遞的其他普通參數。

在ES6之前并沒有提供extends繼承。我們可以通過構造函數+原型對象模擬實現繼承,被稱為組合繼承。

function fn(x, y) {console.log(this);console.log(x + y); }var o = {name: 'andy'};fn.call(o, 1, 2);//調用了函數此時的this指向了對象o,

2.子構造函數繼承父構造函數中的屬性

  • 先定義一個父構造函數;
  • 再定義一個子構造函數;
  • 子構造函數繼承父構造函數的屬性(使用call方法)。
  • // 1. 父構造函數function Father(uname, age) {// this 指向父構造函數的對象實例this.uname = uname;this.age = age;}// 2 .子構造函數 function Son(uname, age, score) {// this 指向子構造函數的對象實例3.使用call方式實現子繼承父的屬性Father.call(this, uname, age);this.score = score; } var son = new Son('劉德華', 18, 100); console.log(son);

    3. 借用原型對象繼承方法

  • 先定義一個父構造函數
  • 再定義一個子構造函數
  • 子構造函數繼承父構造函數的屬性(使用call方法)
  • // 1. 父構造函數 function Father(uname, age) {// this 指向父構造函數的對象實例this.uname = uname;this.age = age; } Father.prototype.money = function() {console.log(100000);};// 2 .子構造函數 function Son(uname, age, score) {// this 指向子構造函數的對象實例Father.call(this, uname, age);this.score = score;} // Son.prototype = Father.prototype; 這樣直接賦值會有問題,如果修改了子原型對象,父原型對象也會跟著一起變化Son.prototype = new Father();// 如果利用對象的形式修改了原型對象,別忘了利用constructor 指回原來的構造函數Son.prototype.constructor = Son;// 這個是子構造函數專門的方法Son.prototype.exam = function() {console.log('孩子要考試');}var son = new Son('劉德華', 18, 100);console.log(son);

    上一篇:JavaScript從入門到放棄 - (一)構造函數和原型
    下一篇:JavaScript從入門到放棄 -(三)ES5新增方法及商品查詢案例

    總結

    以上是生活随笔為你收集整理的JavaScript从入门到放弃 -(二)继承的全部內容,希望文章能夠幫你解決所遇到的問題。

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