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>
复制代码

 

posted @ 2020-09-02 14:32  威武的大萝卜  阅读(498)  评论(0编辑  收藏  举报