我想在javascript中有某种惰性初始化对象属性,因此希望以某种方式重载属性读写访问,即:
var someval = myobj.lazyprop; // invokes myobj.get("lazyprop");
myobj.lazyprop = someval; // invokes myobj.set("lazyprop",someval);
其中 myobj 是我提供给脚本的一些对象。
理由:我想在应用程序中使用 Javascript (Rhino) 作为脚本引擎,并且脚本需要访问的数据结构可能非常庞大和复杂。所以我不想提前将它们全部包装到 javascript 对象中,尤其是。因为此应用程序中的普通脚本只需要其中的一小部分。另一方面,我希望脚本尽可能简单易读,因此我不想在脚本中明确要求使用带有字符串参数的 get 或 set 方法。