JS中的 公有变量、私有变量 !
公有变量、私有变量 !
初学者的见解,算是记录学习过程,也算是分享以便共同成长,如有不正确的地方,还请不吝赐教!
先看代码1:
function car(){
var wheel = 3; //私有变量
this.wheel = 4; //公有变量
alert(wheel);
alert(this.wheel);
}
var car1 = new car();结果是:3 4
代码2:
function car(){
var wheel = 3;//私有变量
this.wheel = 4;//公有变量
}
var car1 = new car();
alert(car1.wheel);结果:4
var wheel = 3是局部变量,this.wheel=4是公有变量,若想访问car中的私有变量,请看代码3:
function car(){
var wheel = 3;//私有变量
this.wheel = 4;//公有变量
this.getPrivateVal = function(){
return wheel;
}
}
var car1 = new car();
alert(car1.getPrivateVal());结果:3
实际应用举例:
<script>
//构造一个学生对象 function student(){ var names = "wang"; // 学生的名字为私有的,不公开 (私有变量) this.profession = "Network"; //学生的专业为公有的,可以公开 (公有变量) this.getnames = function(){ // 提供一个接口,通过这个接口可以知道该学生的名字 return names; }; this.setnames = function(newname){ //提供一个接口,可以修改学生的名字 names = newname;}; } //测试 var student1 = new student(); // new 一个新的student1 alert(student1.names); //undefined ,(私有变量在函数外部不能被获取) alert(student1.profession); //Network,(公有变量可以被获取到,也可以把公有变量理解成全局变量) alert(student1.getnames()); // wang ,通过专用接口,我们可以获取到该学生的名字 student1.setnames("zhang"); //通过专用接口,我们也可以修改该学生的名字 alert(student1.getnames()); // zhang ,重新获取该学生修改后的名字
</script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。