美文网首页前端出版社
Javascript面向对象编程指南(六)——getter和se

Javascript面向对象编程指南(六)——getter和se

作者: 跟Y死磕 | 来源:发表于2017-02-14 09:59 被阅读12次

接下来再让我们看两个关于闭包的应用示例。首先是创建getter和setter。假设现在有一个变量,它所表示的是某类特定值,或某特定区间内的值。我们不想将该变量暴露给外部。因为那样的话,其他部分的代码就可以有直接修改它的可能,所以我们需要将它保护在相关函数的内部,然后提供两个额外的函数——一个用于获取变量值,一个用于给变量重新赋值。并在函数中引入某种验证措施,以便在赋值之前给予变量一定的保护。另外,为了简洁起见,我们对该类中的验证部分进行了简化;即这里只处理数字值。

我们需要将getter喝setter这两种函数放在一个共同的函数中,并在该函数中定义secret变量,着使得两个函数能够共享同一个作用域,具体代码如下:

var getValue, setValue;
(function
  var secret = 0;
  getValue = function () {
    return secret;
  };
  setValue = function (v) {
    if (typeof v === "number") {
      secret = v;
    }
  }
} () );

在这里,所有一切都是通过一个即时函数来实现的,我们在其中定义了全局函数setValue()和getValue(),并以此来确定局部变量secret的不可直接访问性。

getValue();  // 0
setValue(123)  // 123
getValue()  // 123

setValue(false);
getValue();  // 123

相关文章

  • Javascript面向对象编程指南(六)——getter和se

    接下来再让我们看两个关于闭包的应用示例。首先是创建getter和setter。假设现在有一个变量,它所表示的是某类...

  • 原型链的理解

    在看《JavaScript面向对象编程指南》的第六章中的继承,引深了思考对prototype和new的思考。以下内...

  • 2017上半年目标

    1、学习书单:《javascript面向对象编程指南》《你不知道的javascript》《正则指引》《深入Reac...

  • JavaScript学习笔记(五)

    主要源于廖雪峰老师的JavaScript教程 面向对象编程 1. 简介 JavaScript的面向对象编程和大多数...

  • 构造函数与 new 命令

    JavaScript 语言具有很强的面向对象编程能力,本章介绍 JavaScript 如何进行面向对象编程。 对象...

  • Javascript面向对象编程

    阮一峰文档备忘 Javascript 面向对象编程(一):介绍封装 Javascript 面向对象编程(二):介绍...

  • JS创建对象方案(一)

    5.1 JavaScript的面向对象 JavaScript其实支持多种编程范式的,包括函数式编程和面向对象编程:...

  • JavaScript学习笔记(一)

    Javascript面向对象 1. 面向对象编程介绍 1.1 两大编程思想 面向过程 & 面向对象 1.2 面向过...

  • JavaScript学习

    javascript面向对象 初学javascript,感觉javascript的面向对象编程还是很有意思的,在此...

  • javascript的面向对象

    javascript面向对象 初学javascript,感觉javascript的面向对象编程还是很有意思的,在此...

网友评论

    本文标题:Javascript面向对象编程指南(六)——getter和se

    本文链接:https://www.haomeiwen.com/subject/twhxwttx.html