码迷,mamicode.com
首页 > 编程语言 > 详细

javaScript中私有属性和方法

时间:2015-06-06 12:06:12      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:javascript   语法   属性   私有   语言   

javaScript并没有特殊的语法来表示私有、保护、或公共属性和方法,在这一点上与

java或其他语言是不同的,JavaScript中所有对象的成员是公用的:
var myobj={
mypop:1,
getProp:function(){
return this.myprop;
}
};
console.log(myobj.myprop); // ‘myprop’是公有可访问的
console.log(myobj.getProp()); //getProp()也是公有的,可访问的

当使用构造函数创建对象时也同样如此,即所有的成员仍然都是公共的。

function Gadget(){
this.name=’iPod’;
this.stretch =function(){
return ‘iPad’;
};
}
var toy = new Gadget();
console.log(toy.name); //name是公有的
console.log(toy.stretch()); //stretch()是公有的

虽然javaScript语言中并没有用于私有成员的特殊语法,但是可以使用闭包来实现这种

功能。构造函数创建了一个闭包,而在闭包范围内部的任意变量都不会暴露给构造函数

以外的代码。然而,这些私有变量仍然可以用于公共方法中;即定义在构造函数中,且

作为返回对象的一个部分暴露给外部的方法。
如下面示例:
function Gadget(){

//私有变量
var name =’iPod’;
//公有函数
this.getName = function(){
return name;
} ;
}
var toy = new Gadget();
//name是undefined的,是私有的
console.log(toy.name);
//公有方法访问
console.log(toy.getName()); //输出Ipod

如上面例子,很容易在Javascript实现私有性。需要做的只是在函数中将需要保持为私有属性的数据包装起来,并确保它对函数来说是局部变量,这意味着外部函数不能访问它

javaScript中私有属性和方法

标签:javascript   语法   属性   私有   语言   

原文地址:http://blog.csdn.net/lfcss/article/details/46386535

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!