真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript的對象訪問器是什么

這篇文章將為大家詳細講解有關(guān)JavaScript的對象訪問器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務,以做網(wǎng)站、成都網(wǎng)站制作、移動互聯(lián)產(chǎn)品、成都營銷網(wǎng)站建設(shè)服務為核心業(yè)務。10余年網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標準網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

JavaScript訪問器(Getter和Setter),ECMAScript 5(2009)介紹了Getter和Setters。 Getters和setter允許您定義對象訪問器(Computed Properties)。

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




js


JavaScript Getters和Setters

Getters和setter允許您通過方法獲取和設(shè)置屬性。

此示例使用lang屬性獲取語言屬性的值。

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




JavaScript Getters和Setters


JavaScript Getters和Setters

Getters和setter允許您通過方法獲取和設(shè)置屬性。

此示例使用lang屬性設(shè)置語言屬性的值。

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

這兩個例子之間有什么區(qū)別?

示例1:

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

示例2:

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

示例1將fullName作為函數(shù)訪問:person.fullName()。示例2將fullName作為屬性訪問:person.fullName。第二個示例提供了更簡單的語法。

數(shù)據(jù)質(zhì)量

使用getter和setter時,JavaScript可以確保更好的數(shù)據(jù)質(zhì)量。lang在此示例中,使用屬性language以大寫形式返回屬性的值:

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

lang在此示例中,使用該屬性將大寫值存儲在language屬性中:

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

為什么使用Getter和Setter?

● 它提供了更簡單的語法

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

● 它可以確保更好的數(shù)據(jù)質(zhì)量

● 在幕后做事情很有用




js


JavaScript Getters和Setters

完美的創(chuàng)建反對象:

Object.defineProperty()

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

// 定義對象
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 ExplorerChromeFireFoxSafariOpera
JavaScript的對象訪問器是什么
JavaScript的對象訪問器是什么JavaScript的對象訪問器是什么JavaScript的對象訪問器是什么JavaScript的對象訪問器是什么
9.0+
支持
支持
支持
支持

關(guān)于JavaScript的對象訪問器是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


本文名稱:JavaScript的對象訪問器是什么
標題路徑:http://weahome.cn/article/ijiepc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部