`
zengshaotao
  • 浏览: 793149 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用闭包来模拟私有成员的访问

 
阅读更多

  var People =
   function(){
      var _name = arguments[0]; //构造函数
      this.getName = function (){
          return _name;
      };
      this.setName = function(name){
          _name = name;
      };
  }
 var p1 = new People();

 var p2 = new People("aaa");
 alert(p1.getName()); //undifined
 alert(p2.getName()); //xxx
 
 p1.setName("zst");
 alert(p1.getName());

分享到:
评论

相关推荐

    javascript使用闭包模拟对象的私有属性和方法

    需要注意的是,虽然闭包可以保护变量不被外部直接访问,但并非所有的 JavaScript 开发者都推荐使用闭包来模拟私有变量和方法。这是因为闭包会阻止变量所占用的内存被垃圾回收,这可能会导致内存泄漏,尤其是在闭包...

    如何在JavaScript对象中嵌入私有成员.doc

    然而,可以利用闭包这一特性来模拟私有成员。 1. 为何使用私有成员(Private Members) 私有成员的主要目的是限制对对象内部状态的访问。这在以下场景中尤为重要: - **数据安全性**:防止外部代码意外或恶意地...

    基于javascript 闭包基础分享

    在JavaScript中,利用闭包可以实现私有成员,外部无法直接访问,但可以通过闭包提供的接口进行间接访问。 2. 提升代码的模块性:闭包可以将相关的功能封装起来,形成模块,从而提高代码的可重用性和可维护性。 3. ...

    ES5 模拟 ES6 的 Symbol 实现私有成员功能示例

    在ES5中,没有Symbol,但我们可以利用函数作用域和闭包来模拟私有成员。 在ES5中,我们通常通过立即执行函数表达式(IIFE)来创建闭包,该闭包具有自己的作用域链,因此可以创建私有变量。私有成员在闭包内部被声明...

    ProtectJSJavaScript中真正私有的属性和方法

    综上所述,ProtectJS库通过JavaScript的闭包机制实现了模拟私有属性和方法的功能,为开发者提供了更安全、更模块化的代码组织方式。它在浏览器和Node.js环境下均适用,使得私有化编程在JavaScript世界中成为可能。...

    javascript闭包的理解

    这个特性使得闭包成为JavaScript中一个非常有用的工具,尤其是当我们需要模拟私有变量和方法时。 闭包可以通过在外部读取局部变量来实现。在函数内部定义的函数(称为嵌套函数)可以访问定义它的外部函数的局部变量...

    JavaScript 面向对象的之私有成员和公开成员

    需要注意的是,虽然JavaScript提供了通过作用域和闭包来模拟私有成员的机制,但它们的访问控制并不像其他语言中提供的private或public关键字那样严格。现代的JavaScript版本提供了`WeakMap`和`Symbol`等特性,开发者...

    22.1、闭包1

    在 `PersonMain` 类的 `main` 方法中,我们看到了闭包的实际使用,`haveMeals` 变量可以调用 `drink` 方法,模拟喝牛奶的过程,同时由于闭包的特性,即使 `Milk` 对象 `m` 设置为 `null`,`haveMeals` 仍能访问并...

    javascript闭包真经

    在JavaScript中,由于没有类的概念,因此可以通过闭包来模拟私有成员。例如: ```javascript function Counter() { let count = 0; // 私有变量 return { increment: function () { count++; }, getCount: ...

    JavaScript闭包详解1

    在JavaScript中,没有真正的私有成员,但可以通过闭包模拟这一行为: ```javascript function counter() { var count = 0; return { increment: function() { count++; }, decrement: function() { count--; }...

    JavaScript之私有属性,私有函数,函数实现对外不可见

    在JavaScript编程中,私有...通过合理地设计私有成员和公共接口,我们可以确保对象的状态正确被管理,同时防止意外的副作用。在实际开发中,应根据项目需求和团队规范灵活运用这些技术,以实现最佳的代码结构和功能。

    【JavaScript源代码】js闭包和垃圾回收机制示例详解.docx

    3. **模块模式**:利用闭包来实现私有成员,如下面的例子所示: ```javascript const myModule = (function() { let privateVar = "I am private"; function privateMethod() { console.log("This is a ...

    JavaScript中的私有成员

    JavaScript中的私有成员是通过巧妙地利用闭包和作用域规则来实现的,因为JavaScript本身并不直接支持传统的类和私有变量。以下我们将详细探讨如何创建和使用私有成员。 首先,JavaScript对象是由一系列键值对组成的...

    Javascript类定义语法,私有成员、受保护成员、静态成员等介绍

    在JavaScript中,私有成员可以通过闭包或者在构造函数中使用局部变量来模拟实现。例如,在构造函数中定义的变量就相当于私有属性。 受保护成员的访问权限介于私有和公共之间,它可以在类的内部以及继承该类的子类中...

    JavaScript 面向对象的 私有成员和公开成员

    通过闭包,外部代码仍然可以间接访问到私有成员,但这通常被认为是不推荐的实践,因为它破坏了封装。 对于静态类,JavaScript中并没有真正的静态类,但可以通过一个立即执行的函数表达式(IIFE)创建一个只包含静态...

    凡科网js闭包加密处理源码

    2. **创建私有变量**:在JavaScript中,由于没有真正的私有成员,闭包常用来模拟私有变量,防止外部直接访问或修改。 3. **封装与模块化**:通过闭包,可以实现函数间的数据隔离,有助于构建模块化的代码结构。 ...

    JavaScipt最佳入门教程(中文版)

    通过闭包,可以在函数内部访问外部函数的变量,从而模拟私有属性的效果。另外,还经常利用闭包模拟命名空间,避免变量名之间的冲突。 除了原型和闭包,JavaScript中还有静态属性和方法的概念,它们是附加到函数而非...

Global site tag (gtag.js) - Google Analytics