我的問題:不熟悉的語法在JavaScript對象
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,這是什麼 「讓mPrefService(){}」?這是我第一次在javascript對象中看到這種語法。有人會告訴我這個語法嗎?
他們getter和setter方法:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters – Blender
看看http://stackoverflow.com/questions/5409372/does-javascript-have-get-set-keywords-like-c –
@ Blender,@ Ranjith R :是否等同於「***:function(){***; return ***;},」? 使用get語法有什麼優點,除了讓代碼更小? – user2640929