• \n\n

    JavaScript Getters和Setters<\/h2>\n\n

     Getters和setter允許您通過方法獲取和設(shè)置屬性。<\/p>\n\n

    此示例使用lang屬性獲取語言屬性的值。<\/p>\n\n<\/p>\n\n

    国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

    首頁 web前端 js教程 深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter)

    深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter)

    Nov 29, 2019 pm 02:39 PM
    javascript

    深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter)

    JavaScript存取器(Getter和Setter),ECMAScript 5(2009)介紹了Getter和Setters。 Getters和setter允許您定義物件存取器(Computed Properties)。

    【相關(guān)課程推薦:JavaScript影片教學(xué)

    JavaScript Getter(get關(guān)鍵字)

    <!DOCTYPE html>
    <html>
    <meta charset="utf-8">
    <title>js</title>
    <body>
    
    <h2>JavaScript Getters和Setters</h2>
    
    <p> Getters和setter允許您通過方法獲取和設(shè)置屬性。</p>
    
    <p>此示例使用lang屬性獲取語言屬性的值。</p>
    
    <p id="demo"></p>
    
    <script>
        // 新建一個(gè)對(duì)象。
        var person = {
            firstName: "John",
            lastName : "Doe",
            language : "en",
            get lang() {
                return this.language;
            }
        };
        // 使用getter顯示來自對(duì)象的數(shù)據(jù):
        document.getElementById("demo").innerHTML = person.lang;
    </script>
    
    </body>
    </html>

    JavaScript Setter (set關(guān)鍵字)

    <!DOCTYPE html>
    <html>
    <meta charset="utf-8">
    <title>JavaScript Getters和Setters</title>
    <body>
    
    <h2> JavaScript Getters和Setters </h2>
    
    <p> Getters和setter允許您通過方法獲取和設(shè)置屬性。</p>
    
    <p>此示例使用lang屬性設(shè)置語言屬性的值。</p>
    
    <p id="demo"></p>
    
    <script>
        // Create an object:
        var person = {
            firstName: "John",
            lastName : "Doe",
            language : "NO",
            set lang(value) {
                this.language = value;
            }
        };
        // Set a property using set:
        person.lang = "en";
        // Display data from the object:
        document.getElementById("demo").innerHTML = person.language;
    </script>
    
    </body>
    </html>

    使用JavaScript函數(shù)還是Getter?

    這兩個(gè)例子有什麼差別?

    範(fàn)例1:

    var person = {
      firstName: "John",
      lastName : "Doe",
      fullName : function() {
        return this.firstName + " " + this.lastName;
      }
    };
    // 使用方法顯示對(duì)象的數(shù)據(jù):
    document.getElementById("demo").innerHTML = person.fullName();

    範(fàn)例2:

    var person = {
      firstName: "John",
      lastName : "Doe",
      get fullName() {
        return this.firstName + " " + this.lastName;
      }
    };
    // 使用getter顯示來自對(duì)象的數(shù)據(jù):
    document.getElementById("demo").innerHTML = person.fullName;

    範(fàn)例1將fullName作為函數(shù)存?。簆erson.fullName()。範(fàn)例2將fullName作為屬性存?。簆erson.fullName。第二個(gè)範(fàn)例提供了更簡(jiǎn)單的語法。

    資料品質(zhì)

    使用getter和setter時(shí),JavaScript可以確保更好的資料品質(zhì)。 lang在此範(fàn)例中,使用屬性language以大寫形式傳回屬性的值:

    // 創(chuàng)建一個(gè)對(duì)象:
    var person = {
      firstName: "John",
      lastName : "Doe",
      language : "en",
      get lang() {
        return this.language.toUpperCase();
      }
    };
    // 使用getter顯示來自對(duì)象的數(shù)據(jù):
    document.getElementById("demo").innerHTML = person.lang;

    lang在此範(fàn)例中,使用該屬性將大寫值儲(chǔ)存在language屬性中:

    var person = {
      firstName: "John",
      lastName : "Doe",
      language : "",
      set lang(lang) {
        this.language = lang.toUpperCase();
      }
    };
    // 使用setter設(shè)置對(duì)象屬性:
    person.lang = "en";
    // 顯示來自對(duì)象的數(shù)據(jù):
    document.getElementById("demo").innerHTML = person.language;

    為什麼要使用Getter和Setter?

     ● 它提供了更簡(jiǎn)單的語法

     ● 它允許屬性和方法的語法相同

     ● 它可以確保更好的資料品質(zhì)

     ● 在幕後做事情很有用

    <!DOCTYPE html>
    <html>
    <meta charset="utf-8">
    <title>js</title>
    <body>
    
    <h2> JavaScript Getters和Setters </h2>
    
    <p>完美的創(chuàng)建反對(duì)象:</p>
    
    <p id="demo"></p>
    
    <script>
        var obj = {
            counter : 0,
            get reset() {
                this.counter = 0;
            },
            get increment() {
                this.counter++;
            },
            get decrement() {
                this.counter--;
            },
            set add(value) {
                this.counter += value;
            },
            set subtract(value) {
                this.counter -= value;
            }
        };
        // Play with the counter:
        obj.reset;
        obj.add = 5;
        obj.subtract = 1;
        obj.increment;
        obj.decrement;
        // Display the counter:
        document.getElementById("demo").innerHTML = obj.counter;
    </script>
    
    </body>
    </html>

    Object.defineProperty()

    Object.defineProperty()方法還可用於添加Getters和Setter:

    // 定義對(duì)象
    var obj = {counter : 0};
    // 定義 setters
    Object.defineProperty(obj, "reset", {
      get : function () {this.counter = 0;}
    });
    Object.defineProperty(obj, "increment", {
      get : function () {this.counter++;}
    });
    Object.defineProperty(obj, "decrement", {
      get : function () {this.counter--;}
    });
    Object.defineProperty(obj, "add", {
      set : function (value) {this.counter += value;}
    });
    Object.defineProperty(obj, "subtract", {
      set : function (value) {this.counter -= value;}
    });
    // Play with the counter:
    obj.reset;
    obj.add = 5;
    obj.subtract = 1;
    obj.increment;
    obj.decrement;

    瀏覽器支援

    ##Internet Explorer 8或更早版本不支援Getters和Setter:

    ##Internet Explorer
    Chrome FireFox Safari Opera

    深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter) 深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter) 深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter) 深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter)
    9.0
    支援
    支持
    支持
    支持

    本文來自? js教學(xué)

    ?欄目,歡迎學(xué)習(xí)! ###

    以上是深入學(xué)習(xí)JavaScript物件存取器(Getter和Setter)的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

    本網(wǎng)站聲明
    本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費(fèi)脫衣圖片

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費(fèi)的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強(qiáng)大的PHP整合開發(fā)環(huán)境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網(wǎng)頁開發(fā)工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級(jí)程式碼編輯軟體(SublimeText3)

    WebSocket與JavaScript:實(shí)現(xiàn)即時(shí)監(jiān)控系統(tǒng)的關(guān)鍵技術(shù) WebSocket與JavaScript:實(shí)現(xiàn)即時(shí)監(jiān)控系統(tǒng)的關(guān)鍵技術(shù) Dec 17, 2023 pm 05:30 PM

    WebSocket與JavaScript:實(shí)現(xiàn)即時(shí)監(jiān)控系統(tǒng)的關(guān)鍵技術(shù)引言:隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,即時(shí)監(jiān)控系統(tǒng)在各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用。而實(shí)現(xiàn)即時(shí)監(jiān)控的關(guān)鍵技術(shù)之一就是WebSocket與JavaScript的結(jié)合使用。本文將介紹WebSocket與JavaScript在即時(shí)監(jiān)控系統(tǒng)中的應(yīng)用,並給出程式碼範(fàn)例,詳細(xì)解釋其實(shí)作原理。一、WebSocket技

    如何使用WebSocket和JavaScript實(shí)現(xiàn)線上語音辨識(shí)系統(tǒng) 如何使用WebSocket和JavaScript實(shí)現(xiàn)線上語音辨識(shí)系統(tǒng) Dec 17, 2023 pm 02:54 PM

    如何使用WebSocket和JavaScript實(shí)現(xiàn)線上語音辨識(shí)系統(tǒng)引言:隨著科技的不斷發(fā)展,語音辨識(shí)技術(shù)已成為了人工智慧領(lǐng)域的重要組成部分。而基於WebSocket和JavaScript實(shí)現(xiàn)的線上語音辨識(shí)系統(tǒng),具備了低延遲、即時(shí)性和跨平臺(tái)的特點(diǎn),成為了廣泛應(yīng)用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實(shí)現(xiàn)線上語音辨識(shí)系

    如何利用JavaScript和WebSocket實(shí)現(xiàn)即時(shí)線上點(diǎn)餐系統(tǒng) 如何利用JavaScript和WebSocket實(shí)現(xiàn)即時(shí)線上點(diǎn)餐系統(tǒng) Dec 17, 2023 pm 12:09 PM

    如何利用JavaScript和WebSocket實(shí)現(xiàn)即時(shí)線上點(diǎn)餐系統(tǒng)介紹:隨著網(wǎng)路的普及和技術(shù)的進(jìn)步,越來越多的餐廳開始提供線上點(diǎn)餐服務(wù)。為了實(shí)現(xiàn)即時(shí)線上點(diǎn)餐系統(tǒng),我們可以利用JavaScript和WebSocket技術(shù)。 WebSocket是一種基於TCP協(xié)定的全雙工通訊協(xié)議,可實(shí)現(xiàn)客戶端與伺服器的即時(shí)雙向通訊。在即時(shí)線上點(diǎn)餐系統(tǒng)中,當(dāng)使用者選擇菜餚並下訂單

    JavaScript與WebSocket:打造高效率的即時(shí)天氣預(yù)報(bào)系統(tǒng) JavaScript與WebSocket:打造高效率的即時(shí)天氣預(yù)報(bào)系統(tǒng) Dec 17, 2023 pm 05:13 PM

    JavaScript和WebSocket:打造高效的即時(shí)天氣預(yù)報(bào)系統(tǒng)引言:如今,天氣預(yù)報(bào)的準(zhǔn)確性對(duì)於日常生活以及決策制定具有重要意義。隨著技術(shù)的發(fā)展,我們可以透過即時(shí)獲取天氣數(shù)據(jù)來提供更準(zhǔn)確可靠的天氣預(yù)報(bào)。在本文中,我們將學(xué)習(xí)如何使用JavaScript和WebSocket技術(shù),來建立一個(gè)高效的即時(shí)天氣預(yù)報(bào)系統(tǒng)。本文將透過具體的程式碼範(fàn)例來展示實(shí)現(xiàn)的過程。 We

    如何使用WebSocket和JavaScript實(shí)現(xiàn)線上預(yù)約系統(tǒng) 如何使用WebSocket和JavaScript實(shí)現(xiàn)線上預(yù)約系統(tǒng) Dec 17, 2023 am 09:39 AM

    如何使用WebSocket和JavaScript實(shí)現(xiàn)線上預(yù)約系統(tǒng)在當(dāng)今數(shù)位化的時(shí)代,越來越多的業(yè)務(wù)和服務(wù)都需要提供線上預(yù)約功能。而實(shí)現(xiàn)一個(gè)高效、即時(shí)的線上預(yù)約系統(tǒng)是至關(guān)重要的。本文將介紹如何使用WebSocket和JavaScript來實(shí)作一個(gè)線上預(yù)約系統(tǒng),並提供具體的程式碼範(fàn)例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進(jìn)行全雙工

    簡(jiǎn)易JavaScript教學(xué):取得HTTP狀態(tài)碼的方法 簡(jiǎn)易JavaScript教學(xué):取得HTTP狀態(tài)碼的方法 Jan 05, 2024 pm 06:08 PM

    JavaScript教學(xué):如何取得HTTP狀態(tài)碼,需要具體程式碼範(fàn)例前言:在Web開發(fā)中,經(jīng)常會(huì)涉及到與伺服器進(jìn)行資料互動(dòng)的場(chǎng)景。在與伺服器進(jìn)行通訊時(shí),我們經(jīng)常需要取得傳回的HTTP狀態(tài)碼來判斷操作是否成功,並根據(jù)不同的狀態(tài)碼來進(jìn)行對(duì)應(yīng)的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態(tài)碼,並提供一些實(shí)用的程式碼範(fàn)例。使用XMLHttpRequest

    javascript如何使用insertBefore javascript如何使用insertBefore Nov 24, 2023 am 11:56 AM

    用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個(gè)新的節(jié)點(diǎn)。這個(gè)方法需要兩個(gè)參數(shù):要插入的新節(jié)點(diǎn)和參考節(jié)點(diǎn)(即新節(jié)點(diǎn)將要插入的位置的節(jié)點(diǎn))。

    如何在JavaScript中取得HTTP狀態(tài)碼的簡(jiǎn)單方法 如何在JavaScript中取得HTTP狀態(tài)碼的簡(jiǎn)單方法 Jan 05, 2024 pm 01:37 PM

    JavaScript中的HTTP狀態(tài)碼取得方法簡(jiǎn)介:在進(jìn)行前端開發(fā)中,我們常常需要處理與後端介面的交互,而HTTP狀態(tài)碼就是其中非常重要的一部分。了解並取得HTTP狀態(tài)碼有助於我們更好地處理介面?zhèn)骰氐馁Y料。本文將介紹使用JavaScript取得HTTP狀態(tài)碼的方法,並提供具體程式碼範(fàn)例。一、什麼是HTTP狀態(tài)碼HTTP狀態(tài)碼是指當(dāng)瀏覽器向伺服器發(fā)起請(qǐng)求時(shí),服務(wù)

    See all articles