本篇內(nèi)容主要講解“JavaScript對(duì)象訪問(wèn)器有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“JavaScript對(duì)象訪問(wèn)器有哪些”吧!
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的長(zhǎng)嶺網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!JavaScript訪問(wèn)器(Getter和Setter),ECMAScript 5(2009)介紹了Getter和Setters。 Getters和setter允許您定義對(duì)象訪問(wèn)器(Computed Properties)。
JavaScript Getter(get關(guān)鍵字)
<!DOCTYPE html><html><meta charset="utf-8"><title>js</title><body><h3>JavaScript Getters和Setters</h3><p> Getters和setter允許您通過(guò)方法獲取和設(shè)置屬性。</p><p>此示例使用lang屬性獲取語(yǔ)言屬性的值。</p><p id="demo"></p><script> // 新建一個(gè)對(duì)象。 var person = { firstName: "John", lastName : "Doe", language : "en", get lang() { return this.language; } }; // 使用getter顯示來(lái)自對(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><h3> JavaScript Getters和Setters </h3><p> Getters和setter允許您通過(guò)方法獲取和設(shè)置屬性。</p><p>此示例使用lang屬性設(shè)置語(yǔ)言屬性的值。</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è)例子之間有什么區(qū)別?
示例1:
var person = { firstName: "John", lastName : "Doe", fullName : function() { return this.firstName + " " + this.lastName; }};// 使用方法顯示對(duì)象的數(shù)據(jù):document.getElementById("demo").innerHTML = person.fullName();
示例2:
var person = { firstName: "John", lastName : "Doe", get fullName() { return this.firstName + " " + this.lastName; }};// 使用getter顯示來(lái)自對(duì)象的數(shù)據(jù):document.getElementById("demo").innerHTML = person.fullName;
示例1將fullName作為函數(shù)訪問(wèn):person.fullName()。示例2將fullName作為屬性訪問(wèn):person.fullName。第二個(gè)示例提供了更簡(jiǎn)單的語(yǔ)法。
數(shù)據(jù)質(zhì)量
使用getter和setter時(shí),JavaScript可以確保更好的數(shù)據(jù)質(zhì)量。lang在此示例中,使用屬性language以大寫(xiě)形式返回屬性的值:
// 創(chuàng)建一個(gè)對(duì)象:var person = { firstName: "John", lastName : "Doe", language : "en", get lang() { return this.language.toUpperCase(); }};// 使用getter顯示來(lái)自對(duì)象的數(shù)據(jù):document.getElementById("demo").innerHTML = person.lang;
lang在此示例中,使用該屬性將大寫(xiě)值存儲(chǔ)在language屬性中:
var person = { firstName: "John", lastName : "Doe", language : "", set lang(lang) { this.language = lang.toUpperCase(); }};// 使用setter設(shè)置對(duì)象屬性:person.lang = "en";// 顯示來(lái)自對(duì)象的數(shù)據(jù):document.getElementById("demo").innerHTML = person.language;
為什么使用Getter和Setter?
● 它提供了更簡(jiǎn)單的語(yǔ)法
● 它允許屬性和方法的語(yǔ)法相同
● 它可以確保更好的數(shù)據(jù)質(zhì)量
● 在幕后做事情很有用
<!DOCTYPE html><html><meta charset="utf-8"><title>js</title><body><h3> JavaScript Getters和Setters </h3><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};// 定義 settersObject.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:
9.0+ 支持
到此,相信大家對(duì)“JavaScript對(duì)象訪問(wèn)器有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞標(biāo)題:JavaScript對(duì)象訪問(wèn)器有哪些-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article26/csppjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站制作、云服務(wù)器、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容