3411402liuhui 发表于 2013-1-22 22:13:43

初学EXT的心得收录

一開始我們些略過JavaScript兩種建立物件的方法,我先把大概介紹一下,但是這篇文章不會談論到這個部分。

方法一是:


var MyObject = function(){/*Your Code Here*/};方法二是:var MyObject = function(){return{/*Your Code Here*/}}();
好,今天我們介紹的Application Layout是許多Javascript設計師常用的架構,當然每個人都又自己的偏好。不過我觀察到一個趨勢,今天介紹的架構是最受許多人歡迎的。

MyObject = function() {// private variables : 私有屬性或稱為區域變數    // private functions : 私有方法或稱為區域方法    // public space    return {      // public properties, e.g. strings to translate : 公有屬性或稱為公開變數      // public methods : 公有方法或稱為公開方法      init: function() {            alert('Application successfully initialized');      }    };}(); //
上面一堆提到一堆公有/私有,公開/區域..等名詞都是翻譯的問題。我個人還是比較喜歡用英文來稱呼。

上面的架構已經把private 與public 的位置規劃出來了,所以如果把程式碼都放到正確的位置上,大致的架構應該如下


MyObject = function() {var myFirstName='Jack';var myLastName='Slocum'; //sorry jack : )    function getFirstName(){alert(myFirstName);}function getLastName(){alert(myLastName);}    return {NickName1: 'Super Jack',NickName2: 'Good Futher Jack',      init: function() {            alert(this.NickName1); //在Public zone裡面的需要使用this.xxxx來存取變數alert(myFirstName);    //在Public zone裡面的直接使用 xxx來存取private zone裡面的變數      },other : function(){alert(this.NickName2); //在Public zone裡面的需要使用this.xxxx來存取變數alert(myLastName);    //在Public zone裡面的直接使用 xxx來存取private zone裡面的變數}//注意結尾的,需要去除不然龜毛的IE會拒絕執行    };}(); //
有幾點重點要提供給新手注意,這也是我剛學習Javascipt會遇到的疑惑與困擾。
第一個是變數的宣告方式:
在Private zone的變數使用分號(;)隔開舉例如下:


var 變數1;
var 變數2;
但是在Public zone裡面的變數要使用逗號(,)隔開(註:其實這是JSON寫法的變型)舉例如下:


變數1:變數1的值,
變數2:變數2的值//注意結尾的逗點在IE無法通過檢查
第二個是function(或稱方法)的宣告方式:
在Private zone的使用方法如下:


function fun1(){/*Your code HERE*/ }; function fun2(){/*Your code HERE*/ }; 在但是在Public zone的使用方法如下,(註:還這是JSON寫法的變型): fun1: function() {      /*Your code HERE*/},fun2: function() {      /*Your code HERE*/}
页: [1]
查看完整版本: 初学EXT的心得收录