我正在尝试学习一些关于 javascript 的新概念。这是我编写的一个简单代码。在函数内部,这个关键字指的是全局对象,它是窗口,除非它与另一个对象的上下文绑定。在myobj
对象内部有两个方法,它们分别与另外两个全局可访问的函数共享相同的名称afunc
和anotherfunc
。我想在 myobj 上下文中访问这些全局函数,当然不使用将全局对象绑定到我曾经调用它们的立即调用的函数。但它抛出了一个错误。我的问题是,如果 javascript 中的所有内容都是一个对象,而 window 对象包含它们,那么为什么我可以使用this.afucn
or访问这些函数window.afunc
?
(function(){
var afunc=function (){
document.write('this is world'+'</br>');
}
var anotherfunc=function (){
document.write('this is another world');
}
var myobj={
afunc:function(){
document.write('afunc');
},
anotherfunc:function(){
document.write('anotherfunc');
},
context:function(){
(function(){
this.afunc();
this.anotherfunc();
})();
}
};
myobj.context();
})();