javascript - 使用自定义原型(prototype)在 javascript 中创建函数

标签 javascript function prototype

所以我创建了一个这样的函数,

var functionName = function(arg1) { //code logic here; }

同时,我需要这个函数作为一个对象来工作。它不会真正保存任何东西,但数据将从另一个对象访问。

var myObj = new Object();
myObj.x = 3;
myObj.y = 4;

所以当我执行 functionName.x 时,它应该返回 myObj.xmyObj 对象在其他地方维护,我无法控制它。

我目前是这样实现的,

functionName.__proto__ = myObj;

它工作正常。但是 __proto__ 已经被弃用了,我想看看是否有任何其他安全的方法来做到这一点。我想覆盖 Function.prototype 但它不起作用。

最佳答案

你想实现对 myObj 的委托(delegate):

     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]; } );
       }
     }

关于javascript - 使用自定义原型(prototype)在 javascript 中创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12443769/

相关文章:

c - 菜单功能

javascript - Javascript 如何匹配回调函数中的参数?

javascript - 在 v5 中扩展 d3.selection——这是正确的做法吗?

javascript - 如何将原型(prototype)函数添加到初始化函数中的事件监听器?

javascript - 如何覆盖 Bootstrap 插件定义

javascript - 在 javascript 中调用方法和字段时避免对象

c - 如何在不添加 printfs 的情况下在调用函数时打印函数名称?

javascript - 使用私有(private)/ protected /公共(public)字段和方法扩展类

javascript - webgl 如何绘制多个立方体

javascript - 将滚动条的宽度添加到窗口宽度