window.onload = function() {
function fn() {
alert(this);
}
fn();
window.fn();
}
如上代码,直接执行fn()函数会打印出[object window],但是执行window.fn()会报错,就是说fn()函数不属于window对象,那么它属于哪个对象呢?
window.onload = function() {
window.fn();
}
function fn() {
alert(this);
}
是调用的地方不对~~这样就对了
>>直接执行fn()函数会打印出[object window]
这是因为fn()是window调用的,所以this指的是window。和fn()函数属不属于window没有关系。关键点在this。
>>执行window.fn()会报错
把fn()函数定义在onload外面,fn()就会被当作window的一个方法,就可以用window.fn();这样来调用。
是你函数定义的地方搞错了。
fn是一个私有函数,所以调用不了。它是属于onload之后的那个function的。