国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript的static、this、super關(guān)鍵字介紹

這篇具有很好參考價值的文章主要介紹了JavaScript的static、this、super關(guān)鍵字介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

JavaScript的static、this、super關(guān)鍵字介紹

static關(guān)鍵字:

☆ static關(guān)鍵字用于定義類的靜態(tài)方法和靜態(tài)屬性。

☆ 靜態(tài)方法是直接與類相關(guān)聯(lián)的方法,不需要實(shí)例化類即可調(diào)用。

☆ 靜態(tài)屬性是類本身的屬性,而不是實(shí)例的屬性。

☆ 在靜態(tài)方法內(nèi)部,不能使用this關(guān)鍵字來引用實(shí)例,因?yàn)殪o態(tài)方法與特定實(shí)例無關(guān)。

this關(guān)鍵字:

☆ this關(guān)鍵字指向當(dāng)前執(zhí)行代碼的對象,它是動態(tài)的,根據(jù)上下文的不同而變化。

☆ 在類的方法中,this指向調(diào)用該方法的實(shí)例對象。

☆ 在箭頭函數(shù)中,this指向定義該函數(shù)時的詞法環(huán)境的this值,而不是動態(tài)綁定到實(shí)例對象。

☆ 在構(gòu)造函數(shù)中使用this關(guān)鍵字來設(shè)置實(shí)例的屬性。

super關(guān)鍵字:

☆ super關(guān)鍵字用于調(diào)用父類的構(gòu)造函數(shù)和方法。

☆ 在子類的構(gòu)造函數(shù)中,可以使用super()來調(diào)用父類的構(gòu)造函數(shù),完成父類的初始化。

☆ 在子類的方法中,可以使用super.method()來調(diào)用父類的方法。

☆ 在子類中,通過super關(guān)鍵字可以訪問到父類的屬性和方法。

static關(guān)鍵字

當(dāng)在JavaScript中使用static關(guān)鍵字時,可以定義靜態(tài)方法和靜態(tài)屬性。下面是一些示例來說明如何使用static關(guān)鍵字。

1.定義靜態(tài)方法:

class MathUtils {
  static add(a, b) {
    return a + b;
  }

  static multiply(a, b) {
    return a * b;
  }
}

console.log(MathUtils.add(2, 3)); // 輸出: 5
console.log(MathUtils.multiply(2, 3)); // 輸出: 6

在上面的示例中,MathUtils類定義了兩個靜態(tài)方法:add()和multiply()。這些方法可以直接通過類名調(diào)用,而不需要實(shí)例化類。

2.定義靜態(tài)屬性:

class Circle {
  static PI = 3.14;

  constructor(radius) {
    this.radius = radius;
  }

  get circumference() {
    return 2 * Circle.PI * this.radius;
  }
}

const circle = new Circle(5);
console.log(circle.circumference); // 輸出: 31.4
console.log(Circle.PI); // 輸出: 3.14

在上面的示例中,Circle類定義了一個靜態(tài)屬性PI,它存儲了圓周率的值。在實(shí)例方法circumference()中,可以通過Circle.PI來訪問靜態(tài)屬性。

需要注意的是,在靜態(tài)方法內(nèi)部,不能使用this關(guān)鍵字,因?yàn)殪o態(tài)方法與特定實(shí)例無關(guān)。靜態(tài)方法只能訪問靜態(tài)屬性或調(diào)用其他靜態(tài)方法。

通過使用static關(guān)鍵字,我們可以在JavaScript中創(chuàng)建更具靈活性和可重用性的代碼結(jié)構(gòu)。

this關(guān)鍵字

在JavaScript中,this關(guān)鍵字用于指向當(dāng)前執(zhí)行代碼的對象。下面是一些示例來說明如何使用this關(guān)鍵字。

1.在方法中使用this:

const person = {
  name: 'John',
  greet() {
    console.log(`Hello, my name is ${this.name}.`);
  }
};

person.greet(); // 輸出: Hello, my name is John.

在上面的示例中,this關(guān)鍵字指向包含這個方法的對象person。通過this.name,我們可以訪問到對象的屬性。

2.在構(gòu)造函數(shù)中使用this:

class Rectangle {
  constructor(width, height) {
    this.width = width;
    this.height = height;
  }

  getArea() {
    return this.width * this.height;
  }
}

const rectangle = new Rectangle(5, 3);
console.log(rectangle.getArea()); // 輸出: 15

在上面的示例中,構(gòu)造函數(shù)Rectangle使用this來設(shè)置實(shí)例的屬性width和height。在實(shí)例方法getArea()中,我們可以通過this來訪問實(shí)例的屬性。

需要注意的是,在箭頭函數(shù)中,this關(guān)鍵字的行為有所不同。它不會根據(jù)調(diào)用方式或上下文而變化,而是繼承了定義該函數(shù)時的詞法環(huán)境的this值。

3.在事件處理程序中使用this:

  <script>
      document.addEventListener('DOMContentLoaded', function() {
        const button = document.querySelector('button');

        button.addEventListener('click', function() {
          console.log(this); // 輸出: <button>Click me</button>
        });
      });
  </script>

  <body>
    <button>Click me</button>
  </body>

在上面的示例中,this指向觸發(fā)事件的元素,即按鈕元素。這樣我們可以在事件處理程序中訪問和操作該元素。

通過使用this關(guān)鍵字,我們可以在JavaScript中引用當(dāng)前上下文的對象,從而實(shí)現(xiàn)更靈活和動態(tài)的編程。

super關(guān)鍵字

在JavaScript中,super關(guān)鍵字用于調(diào)用父類的構(gòu)造函數(shù)、方法和訪問父類的屬性。下面是一些示例來說明如何使用super關(guān)鍵字。

1.調(diào)用父類的構(gòu)造函數(shù):

class Animal {
  constructor(name) {
    this.name = name;
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name); // 調(diào)用父類的構(gòu)造函數(shù)
    this.breed = breed;
  }
}

const dog = new Dog('Buddy', 'Golden Retriever');
console.log(dog.name); // 輸出: Buddy
console.log(dog.breed); // 輸出: Golden Retriever

在上面的示例中,Dog類繼承了Animal類,并在子類的構(gòu)造函數(shù)中使用super(name)來調(diào)用父類的構(gòu)造函數(shù)并傳遞參數(shù)。

2.調(diào)用父類的方法:

class Animal {
  constructor(name) {
    this.name = name;
  }

  speak() {
    console.log(`${this.name} makes a sound.`);
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }

  speak() {
    super.speak(); // 調(diào)用父類的speak()方法
    console.log(`${this.name} barks.`);
  }
}

const dog = new Dog('Buddy', 'Golden Retriever');
dog.speak(); 
// 輸出:
// Buddy makes a sound.
// Buddy barks.

在上面的示例中,Dog類重寫了父類的speak()方法,并在子類的speak()方法中使用super.speak()來調(diào)用父類的speak()方法。

3.訪問父類的屬性:

class Animal {
  constructor(name) {
    this.name = name;
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }

  getDetails() {
    console.log(`Name: ${this.name}, Breed: ${this.breed}`);
  }
}

const dog = new Dog('Buddy', 'Golden Retriever');
dog.getDetails(); // 輸出: Name: Buddy, Breed: Golden Retriever

在上面的示例中,Dog類通過super(name)來訪問父類Animal的屬性name。

通過使用super關(guān)鍵字,我們可以在JavaScript中實(shí)現(xiàn)繼承和訪問父類的構(gòu)造函數(shù)、方法和屬性。文章來源地址http://www.zghlxwxcb.cn/news/detail-594527.html

到了這里,關(guān)于JavaScript的static、this、super關(guān)鍵字介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【JS】JavaScript中的this關(guān)鍵字

    目錄 this是什么? this的指向 ①全局環(huán)境 ②構(gòu)造函數(shù) ③對象的方法 this的四類調(diào)用方式 ①作為對象方法調(diào)用 ②純粹的函數(shù)調(diào)用 ③作為構(gòu)造函數(shù)調(diào)用 ④使用apply、call、bind調(diào)用 舉例說明 JavaScript? this ?指的是它所屬的對象。 它擁有不同的值,具體取決于它的使用位置:

    2024年02月14日
    瀏覽(25)
  • this 之謎揭底:從淺入深理解 JavaScript 中的 this 關(guān)鍵字(二)

    系列首發(fā)于公眾號『前端進(jìn)階圈』 ,若不想錯過更多精彩內(nèi)容,請“星標(biāo)”一下,敬請關(guān)注公眾號最新消息。 調(diào)用位置 在理解 this 的綁定過程之前,首先要理解 調(diào)用位置 : 調(diào)用位置就是函數(shù)在代碼中被調(diào)用的位置(而不是聲明的位置) 。 通常來說,尋找調(diào)用位置就是尋找

    2024年02月08日
    瀏覽(23)
  • 什么是原型鏈(Prototype Chain)?它在JavaScript中有什么作用?請解釋一下JavaScript中的“this”關(guān)鍵字的含義和用法。

    原型鏈(Prototype Chain)是一種在JavaScript中創(chuàng)建對象的方式,它允許我們通過繼承來擴(kuò)展對象的屬性和方法。 在原型鏈中,每個對象都有一個原型對象(也稱為“原型”或“ proto ”),該對象繼承了其父對象的屬性和方法。當(dāng)我們在一個對象上定義一個屬性或方法時,如果該

    2024年02月11日
    瀏覽(25)
  • Java關(guān)鍵字super解釋

    Java關(guān)鍵字super解釋

    又是看了一大堆文字介紹,非常系統(tǒng)和官方,理解要費(fèi)半天勁,所以總結(jié)一下super它到底有啥用,還有代碼演示也會放出來,這里使用的IDE為idea 還是先官方一下 在java中,super表示超類(就是我們俗稱的父類),當(dāng)子類需要引用父類的字段時,我們就可以使用super.FieldName. 因此

    2024年02月07日
    瀏覽(22)
  • static關(guān)鍵字和final關(guān)鍵字

    在java的中,static和final是兩個必須掌握的。static和final用法多樣,且在一定環(huán)境下使用,可以提高程序的運(yùn)行性能,優(yōu)化程序的結(jié)構(gòu)。下面將依次介紹static和final。注意,某些場景下,staic和final可以聯(lián)合使用

    2024年02月09日
    瀏覽(98)
  • java面向?qū)ο蟆^承以及super關(guān)鍵字

    java面向?qū)ο蟆^承以及super關(guān)鍵字

    在 同?類 中,存在?法名相同,參數(shù)列表不同(個數(shù)、類型或順序不同)的?法互為重載。 在 繼承關(guān)系 中,?類聲明?個繼承??類的?法名相同、參數(shù)列表相同,返回值類型?致,訪問修飾符相同或 變?,拋出異常相同或縮?的?法稱為重寫。 重載是編譯時多態(tài),重寫

    2024年02月12日
    瀏覽(16)
  • static關(guān)鍵字

    static關(guān)鍵字

    作者簡介: zoro-1,目前大一,正在學(xué)習(xí)Java,數(shù)據(jù)結(jié)構(gòu)等 作者主頁: zoro-1的主頁 歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!???? 在Java中,被static修飾的成員,稱之為靜態(tài)成員,也可以稱為類成員,其不屬于某個具體的對 象,是所有對象所共享的。 不屬于某個具體的對象,是類

    2024年02月14日
    瀏覽(21)
  • 每天一個知識點(diǎn) - 了解和使用super關(guān)鍵字

    super是一個,super和this很類似 可以使用 super() 函數(shù)訪問父類的構(gòu)造函數(shù),從而委托父類完成一些初始化的工作 如果子類重寫了父類的中某個方法的實(shí)現(xiàn),可以通過使用 super 來引用父類的方法實(shí)現(xiàn)? ? ? ? super( )函數(shù)是用于調(diào)用父類的一個方法,指向了當(dāng)前對象自

    2024年02月21日
    瀏覽(25)
  • 類的繼承和super關(guān)鍵字的使用(JAVA)

    類的繼承和super關(guān)鍵字的使用(JAVA)

    目錄 繼承 super? ?子類的構(gòu)造方法 final 所有的OOP語言都會有三個特征: 封裝(點(diǎn)擊可跳轉(zhuǎn)) 繼承 多態(tài)(點(diǎn)擊可跳轉(zhuǎn)) 為什么會有繼承呢?可以先看下面的例子: ????????上面這兩個類中的代碼很相似因?yàn)樗鼈冎挥凶詈笠粋€方法不同其它的都相同,這樣定義不但導(dǎo)致代碼

    2024年02月14日
    瀏覽(21)
  • static關(guān)鍵字的作用

    大家好,我是免費(fèi)搭建查券返利機(jī)器人賺傭金就用微賺淘客系統(tǒng)3.0的小編,也是冬天不穿秋褲,天冷也要風(fēng)度的程序猿!今天,讓我們深入探討在程序設(shè)計中經(jīng)常使用的之一——“static”,并詳細(xì)解析其作用。無論你是初學(xué)者還是有一定經(jīng)驗(yàn)的開發(fā)者,了解如何正確使

    2024年02月02日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包