使用自定义原型在javascript中创建函数

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但它不起作用.

Tan*_*ili 1

您想要实现 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)