我有2个js文件:
file1.js包含具有以下内容的原型A:
: Packet
然后我将'getname'函数放在全局变量中,因为我想在任何地方访问它:
printname: function() {
console.log('my name is A');
}
getname: function() {
console.log('getting name..');
this.printname();
}
file2.js包含具有以下内容的原型B:
globalvar.myfunction = this.getname;
当我调用this.runmyglobalfunction时,结果是:
我可以看到控制台日志“获取名称..”。
但是我看不到'我的名字是A'
我该如何解决?
答案 0 :(得分:1)
您可以将函数的this
值.bind
设置为特定值:
globalvar.myfunction = this.getname.bind(this);
现在,无论如何调用globalvar.myfunction
,函数内的this
总是引用该行中引用的this
。