快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

JavaScript的对象访问器是什么-创新互联

这篇文章将为大家详细讲解有关JavaScript的对象访问器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

目前成都创新互联公司已为近千家的企业提供了网站建设、域名、虚拟空间、网站改版维护、企业网站设计、融安网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

JavaScript访问器(Getter和Setter),ECMAScript 5(2009)介绍了Getter和Setters。 Getters和setter允许您定义对象访问器(Computed Properties)。

JavaScript Getter(get关键字)




js


JavaScript Getters和Setters

Getters和setter允许您通过方法获取和设置属性。

此示例使用lang属性获取语言属性的值。

JavaScript Setter (set关键字)




JavaScript Getters和Setters


JavaScript Getters和Setters

Getters和setter允许您通过方法获取和设置属性。

此示例使用lang属性设置语言属性的值。

使用JavaScript函数还是Getter?

这两个例子之间有什么区别?

示例1:

var person = {
  firstName: "John",
  lastName : "Doe",
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};
// 使用方法显示对象的数据:
document.getElementById("demo").innerHTML = person.fullName();

示例2:


var person = {
  firstName: "John",
  lastName : "Doe",
  get fullName() {
    return this.firstName + " " + this.lastName;
  }
};
// 使用getter显示来自对象的数据:
document.getElementById("demo").innerHTML = person.fullName;

示例1将fullName作为函数访问:person.fullName()。示例2将fullName作为属性访问:person.fullName。第二个示例提供了更简单的语法。


数据质量

使用getter和setter时,JavaScript可以确保更好的数据质量。lang在此示例中,使用属性language以大写形式返回属性的值:

// 创建一个对象:
var person = {
  firstName: "John",
  lastName : "Doe",
  language : "en",
  get lang() {
    return this.language.toUpperCase();
  }
};
// 使用getter显示来自对象的数据:
document.getElementById("demo").innerHTML = person.lang;

lang在此示例中,使用该属性将大写值存储在language属性中:

var person = {
  firstName: "John",
  lastName : "Doe",
  language : "",
  set lang(lang) {
    this.language = lang.toUpperCase();
  }
};
// 使用setter设置对象属性:
person.lang = "en";
// 显示来自对象的数据:
document.getElementById("demo").innerHTML = person.language;

为什么使用Getter和Setter?

● 它提供了更简单的语法

● 它允许属性和方法的语法相同

● 它可以确保更好的数据质量

● 在幕后做事情很有用




js


JavaScript Getters和Setters

完美的创建反对象:

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+

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:JavaScript的对象访问器是什么-创新互联
文章网址:http://6mz.cn/article/csdseh.html

免费获取网站建设与品牌策划方案报价

*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上快上网。
提交需求

    联系我们

    028-86922220
  • 手机:13518219792
  • 地址:成都市太升南路288号锦天国际A幢1002号
  • 24小时服务热线:400-028-6601

    网站建设服务

  • 网页设计
  • 网站制作
  • 网站开发

    网站推广服务

  • 营销网站建设
  • 百度快速排名
  • 整站网站推广

    网站运维服务

  • 基础维护
  • 网站改版
  • 网站维护

    FOLLOW US

  • 微信二维码

    微信二维码

Copyright © 2022 成都快上网科技有限公司 成都网站建设公司-选网站建设公司快上网!国内专业的网站制作公司!
All Rights Reserved 版权所有 蜀ICP备19037934号-11