javascript模擬實現私有屬性簡單介紹

antzone發表於2017-03-21

在javascript中其實沒有私有屬性這個概念,不過我們可以模擬實現,下面就通過程式碼例項簡單介紹一下如何模擬實現私有屬性,希望能夠給需要的朋友帶來幫助,先看看一段c#中的私有屬性程式碼:

[C#] 純文字檢視 複製程式碼
public class Admin
{
  public Admin()
  {}
  private int _id;
  private string _username;
  /// <summary>
  /// 自增編號
  /// </summary>
  public int Id
  {
    set{ _id=value;}
    get{return _id;}
  }
  /// <summary>
  /// 登入帳號
  /// </summary>
  public string UserName
  {
    set{ _username=value;}
    get{return _username;}
  }
}

以上程式碼就是c#中的私有屬性實現簡單程式碼,私有屬性可以通過對外公開結構實現訪問和修改,下面再介紹一下javascript如何模擬時間私有屬性,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var func=function(){
  /* 這裡宣告私有變數和方法 */
  var privateVariable = '私有變數';
  function showPrivate(){
    console.log("私有函式呼叫");
  }
  /* 公有變數和方法(可以訪問私有變數和方法) */
  return{
    publicMethod:function(){
      showPrivate();
    },
    publicVar:privateVariable
  }
}
var obj=func();
obj.publicMethod();
console.log(obj.publicVar);

以上程式碼實現了我們的要求,私有變數和方法,可以通過公開的介面進行訪問,在上面採用的就是返回一個物件,通過物件的屬性實現訪問私有變數和方法。

相關文章