我的问题:
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/