2011-06-25 3 views
0

J'ai écrit le code ci-dessous, et il se plaint de la méthode de la « DefineProperty » n'existe pasRhino et Object.defineProperty

#! /usr/bin/rhino 

version(170) 

function PrivScop(priv) { 
     this.access 
     Object.defineProperty(this, "access", { 
       get: function() { return priv }, 
       set: function() { priv = arguments[0] } 
       } 
     ) 
} 
var secret = new PrivScop(1) 

est de définir la propriété non mis en œuvre dans la version 1.7 ou pas du tout. Est-ce que je fais quelque chose d'autre? Merci d'avance :-)

Répondre

3

Object.defineProperty est défini dans JS 1.8, qui existe partiellement dans Rhino 1.7R3, mais n'est pas activé par défaut. Je ne suis pas sûr si defineProperty existe lui-même dans 1.7R3, mais si c'est le cas, vous devez définir la version de la langue à 180

+0

Je me suis dit: -/Je me suis débrouillé en utilisant des getters et setters hérités. Merci – rubixibuc

+0

comment régler la version langage à 180? –