javascript - 关于js作用域及执行环境的问题
本文介绍了javascript - 关于js作用域及执行环境的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
window.onload = function(){
var b = 1;
alert(this);
Test();
}
function Test(){
alert(this);
alert(b);
}
test方法在onload事件函数里执行,那这方法应该是在onload事件函数的作用域内,同时我打印onload事件的指向与test方法的指向,都是window,不明白为什么方法Test获取不到变量b,往前辈们指点下,谢谢。
解决方案
var 声明 b 和调用 b 是在两个独立的代码块内
独立的代码块内声明的变量不能互相调用。this 指向是调用体所决定的。
调用时是 Test() 这种形式,这和 Test() 在哪写的无关。
你甚至可以将 Test() 理解为 window.Test() ,里面的 this 指向为 window
这篇关于javascript - 关于js作用域及执行环境的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文