0

在下面的代码xFoo中将是一个对象(或其原型)具有bar值为 5 的实际属性,并且它将具有实际方法foo()。这是什么类型的对象符号?这不是我在 ECMAScript 5 中定义属性的方式。我原以为这xFoo.bar是一个具有 function的对象,get()并且xFoo.foo是一个具有 method 的对象value()。我在这里想念什么?

var XFoo = document.registerElement('x-foo', {
    prototype: Object.create(HTMLElement.prototype, {
        bar: {
            get: function () {
                return 5;
            }
        },
        foo: {
            value: function () {
                alert('foo() called');
            }
        }
    })
});

var xFoo = new XFoo();
4

2 回答 2

1

是的,我的猜测是正确的:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create#Parameters

抱歉,但您至少尝试过 googlejavascript Object.create吗?

于 2014-03-24T23:24:40.570 回答
0

这是什么类型的对象符号?这不是我在 ECMAScript 5 中定义属性的方式。

当然是的。看看ES 5 的文档Object.create。它使用相同的属性描述Object.defineProperties

于 2014-03-24T23:25:11.593 回答