javaScript在私有的属性和方法
2015-10-09 20:25
507 查看
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
如上面样例。非常easy在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
如上面样例。非常easy在Javascript实现私有性。
须要做的仅仅是在函数中将须要保持为私有属性的数据包装起来,并确保它对函数来说是局部变量,这意味着外部函数不能訪问它
相关文章推荐
- Selenium+PhantomJS 爬取页面
- 纯JS实现fadeIn 和fadeOut
- javascript常用数组算法总结
- 10道javascript笔试题
- JS页面间传值
- JavaScript 面向对象之构造函数+成员函数详解
- iframe父子页面间通信总结
- 经典JavaScript正则表达式实战
- 一个通用的js动画函数
- js 循环json
- js如何去掉字符串中所有的逗号
- 异常:org.json.JSONException: End of input at character 0 of
- 关于使用json库造成的内存泄露问题
- video.js的应用
- JSP有三大指令
- jsoncpp 构造空数组
- JSONP理解和使用
- 2 JSP/SERVLET入门教程--Servlet 使用入门
- JavaScript 中 onload 事件绑定多个方法的优化建议
- js数组去重。。(拷的别人代码)