天天看点

JS中的 公有变量、私有变量 !

公有变量、私有变量 !

 初学者的见解,算是记录学习过程,也算是分享以便共同成长,如有不正确的地方,请不要客气的留言指出!

 先看代码1: 

JS中的 公有变量、私有变量 !
function car(){ 
    var wheel = 3; //私有变量 
    this.wheel = 4; //公有变量 
    alert(wheel); 
    alert(this.wheel); 
} 
var car1 = new car();结果是:3 4      
JS中的 公有变量、私有变量 !

 代码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: 

JS中的 公有变量、私有变量 !
function car(){ 
    var wheel = 3;//私有变量 
    this.wheel = 4;//公有变量 
    this.getPrivateVal = function(){ 
        return wheel; 
    } 
} 
var car1 = new car(); 
alert(car1.getPrivateVal());结果:3      
JS中的 公有变量、私有变量 !

  实际应用举例: 

JS中的 公有变量、私有变量 !
<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>      
JS中的 公有变量、私有变量 !

继续阅读