Rhino从Scriptable获得价值,包括原型链

时间:2017-02-09 08:03:35

标签: javascript prototype rhino

我使用的是Java Rhino,我有一个ScriptableScriptableObject

从这个对象我想要检索一个值,但是该值不是直接在这个对象中,而是在对象的原型链中的某个位置。

所以基本上我想在java代码中做object.get("key", object),但如果在这个对象中不存在,则返回原型链中的值。

此get方法的文档声明:

  

请注意,此方法不会遍历原型链。

但不幸的是,它没有说明这是哪种方法......

我可以将自己的代码写入:

  • 检查对象
  • 如果没有找到:转到原型
  • 重复这个,直到找到一个值或者没有原型

但我想知道......难道不应该在Rhino中有这样的方法吗?

这种方法在哪里?

1 个答案:

答案 0 :(得分:0)

你试过这个吗?

objArray = Object.getOwnPropertyNames(scriptableObject.prototype);
for(var i = 0; i < objArray.length; i++){
if(objArray[i] == "whateverProperty")
log(i + " " + scriptableObject.prototype[i]);
}

这就是我总是检查对象原型的方法。