“get”在对象文字中意味着什么?

时间:2011-05-03 13:55:01

标签: javascript google-chrome prototype

以下是Chrome开发者工具的摘录:

WebInspector.DOMStorage.prototype = {
    get id()
    {
        return this._id;
    },

    get domain()
    {
        return this._domain;
    },

    get isLocalStorage()
    {
        return this._isLocalStorage;
    },

    getEntries: function(callback)
    {
        DOMStorageAgent.getDOMStorageEntries(this._id, callback);
    },

    setItem: function(key, value, callback)
    {
        DOMStorageAgent.setDOMStorageItem(this._id, key, value, callback);
    },

    removeItem: function(key, callback)
    {
        DOMStorageAgent.removeDOMStorageItem(this._id, key, callback);
    }
}

WebInspector.DOMStorage是一个函数,在上面的代码中是它的原型。对我来说最奇怪的是以下方法:get id()get某些东西 - 我检查了对象原型只有removeItemgetEntriessetItem被识别。其他人怎么样?

1 个答案:

答案 0 :(得分:3)

那些是吸气剂。如果您有DOMStorage的实例,则可以执行以下操作:

var domain = inst.domain;

但你不能分配它(或者你可以但值不会改变):

inst.domain = 4; #doesnt change inst.domain

有关它的更多信息,请参阅this link。只有一些浏览器支持它。