javascript - javascript对象中不熟悉的语法

标签 javascript object

我的问题:


    var nsPreferences = {

    property1:"",

    get mPrefService()
        {
          return Components.classes["@mozilla.org/preferences-service;1"]
                           .getService(Components.interfaces.nsIPrefBranch);
        },

    setBoolPref: function (aPrefName, aPrefValue)
        {
          try 
            {
              this.mPrefService.setBoolPref(aPrefName, aPrefValue);
            }
          catch(e)
            {
            }
        },

    getBoolPref: function (aPrefName, aDefVal)// Prefs.jsで使用
        {
          try
            {
              return this.mPrefService.getBoolPref(aPrefName);
            }
          catch(e)
            {
              return aDefVal != undefined ? aDefVal : null;
            }
          return null;        // quiet warnings
        },


    };

在这个对象nsPreferences中,这个“get mPrefService(){}”是什么?这是我第一次在 javascript 对象中看到这种语法。谁能告诉我这种语法?

最佳答案

这是一个getter function .当你阅读它时,它看起来像一个变量:

var someService = nsPreferences.mPrefService;

它在不使用常规调用括号的情况下调用该函数。您还可以使用 set 运算符为同一属性创建“setter”函数:

set mPrefService(val){
    this.actualVal = val;
},
nsPreferences.mPrefService = "service";

关于javascript - javascript对象中不熟悉的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18008055/

相关文章:

python - 如何构建一个基本的迭代器?

javascript - 如何在 JavaScript 中使用数组和对象输入编写最快的选择函数?

javascript - 单击按钮时启动 setInterval

javascript - 通过网络浏览器运行终端

JavaScript 构造函数

javascript - 使用变量名称和字符串组合创建 Javascript 变量

Javascript - 在上一个函数结束后启动函数

javascript - 将对象转换为二维数组但删除键

javascript - 是否可以 ? "Javascript Subclass"

javascript - 将动画 Sprite 添加到移相器对象