Joh*_* Ng 5 javascript prototype function
所以我创建了这样的函数,
var functionName = function(arg1) { //code logic here; }
Run Code Online (Sandbox Code Playgroud)
同时,我需要这个功能作为一个对象.它不会真正保存任何东西,但数据将从另一个对象访问.
var myObj = new Object();
myObj.x = 3;
myObj.y = 4;
Run Code Online (Sandbox Code Playgroud)
所以,当我离开时,functionName.x它应该返回myObj.x.该myObj对象正在其他地方维护,我无法控制它.
这就是我目前的实现方式,
functionName.__proto__ = myObj;
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是__proto__已经弃用了,我想看看是否还有其他安全的方法.我想到了压倒一切,Function.prototype但它不起作用.
您想要实现 myObj 的委托:
var functionName = function(arg1) { // code }
functionName.myObj = new MyObj();
for (prop in functionName.myObj) {
if (functionName.myObj.hasOwnProperty(prop)) {
functionName.__defineGetter__(prop, function() { return functionName.myObj[prop]; } );
}
}
Run Code Online (Sandbox Code Playgroud)