2011-06-25 139 views
0

我已经写了下面的代码,它抱怨的方法“defineProperty”不存在犀牛和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) 

是界定产权的1.7版本未实现或者根本没有。我在做别的事吗?在此先感谢:-)

回答

3

Object.defineProperty在JS 1.8中定义,它部分存在于Rhino 1.7R3中,但默认情况下未启用。我不知道defineProperty本身是否存在于1.7R3中,但是如果它确实存在,则需要将语言版本设置为180

+0

我想: - /我通过使用传统getter和setter来解决它。谢谢 – rubixibuc

+0

如何将langage版本设置为180? –