javascript中定义私有方法说明(privatemethod)
JavaScript方法 说明 定义 私有
2023-06-13 09:15:17 时间
一度以为在javascript的世界里,所有方法都是公有的,无法真正从技术上定义一个私有方法,今天又一次发现:其实我错了!
varPerson=function(name,sex){
this.name=name;
this.sex=sex;
var_privateVariable="";//私有变量
//构造器中定义的方法,即为私有方法
functionprivateMethod(){
_privateVariable="privatevalue";
alert("私有方法被调用!私有成员值:"+_privateVariable);
}
privateMethod();//构造器内部可以调用私有方法
}
Person.prototype.sayHello=function(){
alert("姓名:"+this.name+",性别:"+this.sex);
}
varp=newPerson("菩提树下的杨过","男");
p.sayHello();
//p.privateMethod();//这里将报错,私成方法无法被实例调用
alert(p._privateVariable);//显示:undefined
说明:类的构造函数里定义的function,即为私有方法;而在构造函数里用var声明的变量,也相当于是私有变量。(不过类比于c#这类强类型语言中的私有成员概念还是有区别的,比如无法在非构造函数以外的其它方法中调用)
类似的,我们还能实现类似set,get属性的封装
varPerson=function(){
varsalary=0.0;
this.setSalary=function(value){
salary=value;
}
this.getSalary=function(){
returnsalary;
}
}
varp=newPerson();
p.setSalary(1000);
alert(p.getSalary());//返回1000
alert(p.salary);//返回undefined
注:js中的"变量作用域","函数调用上下文(this)","闭包","原型链"这几个概念确实值得花点工夫理解,这几道坎跨过去了,js新手(比如我辈之流)的水平相信也将小上一个新台阶.
相关文章
- 【说站】Javascript中对象原型 __proto__的介绍
- JavaScript 字符串方法与属性(上)
- 用JavaScript获取网页中的js、css、Flash等文件
- JavaScript实现禁止后退的方法
- javascript如何判断数组内元素是否重复的方法集锦
- JavaScript中的replace方法说明
- Javascript更新JavaScript数组的uniq方法
- javascript类方法定义还是有点区别
- JavaScript验证浏览器是否支持javascript的方法小结
- javascript动态加载css方法总结
- 优化JavaScript代码的方法小结
- JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
- Javascript将string类型转换int类型
- javascript中的对象创建实例附注释
- 一个实现字体大中小方法的JavaScript代码
- JavaScript学习笔记(一)js基本语法
- 扩展JavaScript功能的正确方法(译文)
- javascript实现原生ajax的几种方法介绍
- javascript实现json页面分页实例代码
- javascript实例--教你实现扑克牌洗牌功能
- JavaScript中的单引号和双引号报错的解决方法