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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM