以下是完整版的物件導向功能:
(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就好了!
沒有留言:
張貼留言