`
youyu4
  • 浏览: 440551 次
社区版块
存档分类
最新评论

JavaScript静态私有变量

 
阅读更多
<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
/**
匿名函数

效果:一开始创建的person1对象初始化后name后,
      可以给name变量重新赋值;最后新建并初始化
	  person2的name时,person1的name也发生了变化,
	  证明name属性为静态变量。
*/
(function(){
	var name = "";
	Person = function(value){
		name = value;
	};
	Person.prototype.getName = function(){
		return name;
	};
	Person.prototype.setName = function (value){
		name = value;
	};
})();
var person1 = new Person("Nicholas");
alert(person1.getName()); //"Nicholas"
person1.setName("Greg");
alert(person1.getName()); //"Greg"
var person2 = new Person("Michael");
alert(person1.getName()); //"Michael"
alert(person2.getName()); //"Michael"
//-->
</SCRIPT>
</HEAD>

<BODY>

</BODY>
</HTML>
 

 

分享到:
评论

相关推荐

    JavaScript私有变量实例详解

    需要注意的是,使用静态私有变量模式时,由于所有实例共享私有变量,因此当多个实例同时调用特权方法时,可能会引发同步问题。此外,如果作用域链过长,可能会导致内存消耗增加,影响性能。 总的来说,JavaScript的...

    JavaScript面向对象之私有静态变量实例分析

    了解并熟练掌握JavaScript中的面向对象和私有变量的概念,能够帮助开发者编写更加安全、模块化的代码,提高软件的可维护性和可扩展性。同时,这也涉及到JavaScript的其他高级特性,如闭包、作用域以及函数作为一等...

    JavaScript中的私有/静态属性介绍

    在提供的示例中,`staticPrivateValue`是静态私有变量,`MyObject`构造函数以及访问私有变量的方法都被封装在一个立即执行的函数表达式中,这样既能保持私有性,又能通过`MyObject.prototype`上的方法进行访问。...

    深入理解JavaScript中的块级作用域、私有变量与模块模式

    为了优化内存使用,我们可以使用静态私有变量。这样,所有实例共享相同的私有变量和方法: ```javascript (function() { var _name = ""; Person = function(value) { _name = value; }; Person.prototype....

    JAVAStatic静态变量.doc

    在Java中,非静态成员(也称为实例变量)是每个类实例的私有副本,每个对象都有自己的这些变量。相反,静态成员是所有对象共享的,它们存储在方法区,而不是堆内存中。这使得静态变量在处理全局状态或计数器(如上述...

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

    在给定的代码示例中,aa是一个私有变量,fun1和fun2是私有方法,它们都只能在类的内部访问。 另一方面,公开成员是指通过this关键字声明的变量和方法,它们可以被外部访问。例如,在类的外部,bb是一个公开变量,...

    javascript 静态对象和构造函数的使用和公私问题

    在这里,`pri1`是私有变量,因为它只在构造函数内部可见。外部无法直接访问`pri1`,所以`typeof o.pri1`会返回`undefined`。然而,可以通过公有方法访问私有方法或变量,例如通过闭包: ```javascript this.acPri =...

    javascript Function

    // 静态私有变量 function privateMethod() {} // 静态私有方法 return function() {/* 真正的构造器 */}; }(); ``` 这段代码中,`Class`既是一个闭包,又是一个构造函数,同时还定义了一些私有变量和方法。 #...

    面向对象javascript笔记

    7. **公共变量和私有变量**:公共变量是可以通过对象实例访问的,而私有变量只能在对象的构造函数或闭包中访问,从而保护数据不被外部修改。 8. **特权方法**:特权方法是介于公共和私有之间的方法,它们可以从对象...

    全面解析JavaScript Module模式

    在函数内部,可以声明私有变量和函数,然后通过返回一个对象来暴露公共接口。以下是一个简单的示例: ```javascript var Calculator = function(eq) { // 私有变量和函数 var eqCtl = document.getElementById(eq...

    js面向对象之公有、私有、静态属性和方法详解

    在ES6之前,JavaScript没有私有属性的语法,但可以通过一些技巧模拟私有性,比如使用函数作用域或者闭包来创建私有变量。示例代码如下: ```javascript function User(name, age) { var name = name; // 私有属性 ...

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

    为了弥补这一不足,JavaScript允许我们使用类的语法糖,以支持类定义和模拟面向对象编程语言中的成员访问控制,包括私有成员、受保护成员和静态成员。 在JavaScript中,类的定义往往基于构造函数或者使用ES6引入的...

    JavaScript中的公有、私有、特权和静态成员用法分析

    但是,它们可以访问私有成员,如在这个例子中,`appendToMessage`方法访问了私有变量`separator`和私有方法`alertMessage`。特权方法使得我们能够在公有接口中暴露一些功能,同时保持私有成员的封装性和安全性。 ...

    JavaScript高级教程(完整版)

    此外,闭包是JavaScript中的一个高级概念,它允许函数访问并操作其外部作用域的变量,是实现私有变量和模块化的重要手段。 函数在JavaScript中不仅仅是可调用的代码块,它们也是第一类对象,可以赋值给变量、作为...

    JAVASCRIPT-使用面向对象的技术创建高级 Web 应用程序

    // 试图访问私有变量将失败 console.log(person1._name); // undefined ``` #### 从类继承 JavaScript中没有传统的类继承,但可以通过原型链实现继承。子类可以继承父类的所有方法和属性。 **模拟命名空间** ...

Global site tag (gtag.js) - Google Analytics