gpt4 book ai didi

javascript - javascript可以从构造函数内部传递自身吗

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:44:06 24 4
gpt4 key购买 nike

我该怎么做:

var abc = (function(){ 
..
})();

register(abc); // outside the protected class

为此:(无需在类外调用 register):

function register(object){ stores the object }

var abc = (function(){
..

register(this); // inside the protected class
})();

一些背景。

主类有一个插件对象数组,“注册”函数放置插件。 abc 就是这样一个插件。模块模式闭包之后的插件。我想将插件实例放入列表中,并且插件尽可能独立。我想删除插件之外的其他功能。

我考虑过:MasterClass.plugins.abc = (函数..)但我认为这会在加载任何插件之前创建对 MasterClass.plugins 的依赖。

最佳答案

您可以使用 Function.prototype.bind()(修改 this 值)和一个 var 内部,如下所示:

(function(){
var fun = function(){ alert( this.toString() )}
fun.bind(fun)();
})()

在你的情况下:

(function(){
var fun = function(){ alert( this.toString() )}
register(fun);
})()

关于javascript - javascript可以从构造函数内部传递自身吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com