2014年8月11日 星期一

javascript物件導向封裝應用學習筆記

java寫久了會有在程式想看到public , private 的感覺,而javscript可以利用scope的概念創造public , private 的功能
以下是完整版的物件導向功能:


(function(){
    var name = "";
    var printName = function(name){
        this.name = name; //public 
        console.log(this.name);
    };

    printName("Eric");

    var displayName = function(enterName){
        var name = enterName; //private
        console.log(name);
    };
    displayName("Eric");
})();


上面有實作一個公開的 NAME 和一個在 function 定義的 name,這就類似於public , private 概念, 正統會這樣寫:
(function(){
    var printName = function(name){
  this.name = name; //public 
  console.log(this.name);
 };

 printName("Eric");

 var displayName = function(enterName){
  var name = enterName;
  console.log(name);
 };
 
 displayName("Eric");
})();
會發現移除了 var name = ""; 這個宣告, 但由於javscript 不宣告 var 就會直接變成 global 的變數,因此就直接使用 this.name就好了!

沒有留言:

張貼留言

© ERIC RILEY , 自由無須告知轉貼
Background Japanese Sayagata by Olga Libby