2015年12月11日 星期五

JavaScript 原型導向(物件導向)私有成員及公開成員用法

function test() {

    var private1 = "I'm private variable 'private1'!";//私有成員變數

    this.public1 = "I'm public valiable 'public1'!";//公開成員變數

    function getPrivateFriend() {//私有成員函數

        alert(private1);

    }

    this.getPrivatePublic = function() {//公開成員函數

        getPrivateFriend();

    }

}

try {//為了讓a.getPrivateFriend()執行結果看得到,所以用try捕捉錯誤訊息

    var a = new test();

    a.getPrivatePublic();

    alert(a.public1);

    alert(a.private1);

    a.getPrivateFriend();

} catch(E) {alert(E);}


簡單的總結:


    在函數中用 var 定義變數,則可以將此變數視為此函數物件的私有變數
    在函數中用 this.名稱 來定義變數或方法,則可將此變數或方法視為此函數物件定義的公有變數或公有方法。
    在函數中直接用 function 定義函數,則此函數可視為函數物件的私有方法

沒有留言:

張貼留言