下面的这些JS脚本,涉及到作用域和脚本解析顺序的问题,相信是很多初学者容易混淆的地方(其实我也解释不太清楚,虽然最后结果和我预想的是一样的)。
这里贴出来,大家一起参详参详。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>JS测试</title>
<script type="text/javascript">
window.onload =function(){
//试试下面三段JS的运行结果是啥
//-----------Para 1-------------
// var a="abc";
// var b="bcd";
// function A(){
// alert(a); //?
// alert(b); //?
// var b="cde";
// alert(b); //?
// }
// A();
//-----------Para 2------------
// var a="abc";
// var b="bcd";
// function A(){
// alert(a); //?
// alert(b); //?
// b="cde";
// alert(b); //?
// }
// A();
//----------Para 3--------------
var txt ='I am global';
function chek(){
fn();
function fn(){ alert('I am function fn(position 1)');}
var fn =function(){ alert('I am function fn(position 2)');}
alert(txt);
fn();
}
chek(txt); //执行顺序如何?
}
</script>
</head>
<body>
<p>这是一个JS 测试文档。</p>
</body>
</html>