调用另一个JS文件中的全局函数。我如何得到“这”工作?

问题描述 投票:0回答:1

我有2个js文件:

file1.js包含原型有:

printname: function() {
   console.log('my name is A');
}

getname: function() {
    console.log('getting name..');
    this.printname();
}

然后,我把“的getName”功能在一个全局变量,因为我想在任何地方访问它:

globalvar.myfunction = this.getname;

file2.js包含原型B带:

runmyglobalfunction: function() {
   globalvar.myfunction();
}

当我打电话this.runmyglobalfunction,结果是:

我可以看到控制台日志“越来越名字..”。

但我不能看到“我的名字是A”

我该如何解决?

javascript this global
1个回答
1
投票

您可以将功能的.bindthis特定值:

globalvar.myfunction = this.getname.bind(this);

现在,无论globalvar.myfunction是如何调用,在函数内部this总是引用什么this在该行称。

相关:How to access the correct `this` inside a callback?

© www.soinside.com 2019 - 2024. All rights reserved.