返回首页
当前位置: 主页 > 网络编程 > Jsp实例教程 >

JavaScript私有变量

时间:2013-09-25 02:09来源:betway必威官网www.etsupport.net 编辑:麦田守望者
如果接触过其它语言的,应该会接触过私有变量这一个概念。所谓私有就是没有受保护,不能修改与访问,只能通过你给的API接口访问与修改。但是在JavaScript中并没有私有变量这个概念,所有成员都可以通过下标访问与修改,如:

var F = function(){};

F.prototype.name = "zhangsan";

var a = new F();

alert( a.name ); // zhangsan

a.name = "lisi";

alert( a.name ); // lisi

在JavaScript里,实例的成员变量就这样轻而易举的被修改,设置delete。有不少这么干:

var F = function(){};

// 变量前面加下划线
F.prototype._name = "zhangsan";

var a = new F();

// 访问跟正常访问一样
alert( a._name ); // zhangsan

// 实际上也能轻而易举的被修改
a._name = "lisi";

alert( a._name ); // lisi

加下划线做位私有变量貌似很普遍,认可。但这仅是一种大家默认的公约,其实利用JavaScript特性,我们可以这样定义私有变量:

(function(window){
	
	// 定义私有变量默认值
	var name = "zhangsan";
	
	var F = function(){};

	// 访问私有变量
	F.prototype.getName = function(){
		return name;
	};
	
	// 更新私有变量
	F.prototype.setName = function(str){
		name = str;
	};
	
	window.F = F;
	
})(window);


var a = new F();

a.getName();	// zhangsan

a.setName("lisi");

a.getName();	// lisi

这种方式也是被使用最多最广泛的方式。

顶一下
(1)
100%
踩一下
(0)
0%
标签(Tag):Javascript javascript实例教程 JavaScript源代码 JavaScript基础教程
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片