我有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”
我该如何解决?
您可以将功能的.bind
值this
特定值:
globalvar.myfunction = this.getname.bind(this);
现在,无论globalvar.myfunction
是如何调用,在函数内部this
总是引用什么this
在该行称。