2014-03-24 36 views
0

在以下代碼xFoo將是一個對象(或其原型)具有實際屬性bar值爲5,它將有一個實際方法foo()。這是什麼樣的對象符號?這不是我如何在ECMAScript 5中定義屬性的方法。我本來預計xFoo.bar是一個具有函數get()的對象,並且xFoo.foo是一個具有方法value()的對象。我在這裏錯過了什麼?使用聚合物的奇怪的javascript屬性定義

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(); 
+1

看起來像語法接近'Object.defineProperty' – kirilloid

+0

可能重複的[Object.defineProperty in ES5?](http://stackoverflow.com/questions/3830800/object-defineproperty-in-es5) – kirilloid

回答