<script type="text/javascript">
/*
* 作用域:
* JS中有两种作用域
* 全局作用域
* -直接编写在script标签中的代码,都在全局作用域
* -全局作用域在页面打开时创建,在页面关闭时销毁
* -在全局作用域中有一个全局对象Window,
* 他代表浏览器的窗口,他由浏览器创建我们可以直接调用
* -在全局作用域中
* 创建的变量都会作为window对象的属性保存
* 创建的函数都会作为window对象的方法保存
* -全局作用域中的变量都是全局变量
* 在页面的任何部分都可以访问的到
* 函数作用域
* -调用函数时创建函数作用域,函数执行完毕,函数作用域被销毁
* -每调用一次函数就会创建一个新的作用域,他们之间是相互独立的
* -在全局作用域中可以访问全局作用域的变量,在全局作用域中无法访问函数作用域的变 量
* -当在函数作用域中操作变量时,他会先在自身作用域中寻找,没有就先在上一级中找
* ,直到找到全局作用域,如果全局作用域没找到,就会报错
*/
var a = 10;
function fun(){
//var a = "我是函数作用域的a";
console.log("a="+a);
function fun(){
console.log()
}
}
fun();
/*
* 在函数作用域也有声明提前的特性
* 使用var关键字声明的变量,会在函数中所有的代码执行之前被声明
* 函数声明也会在函数中所有的代码执行之前执行
*/
function fun3(){
fun4();
//console,log(a)
var a = 35;
function fun4(){
alert("I'M fun4")
}
}
//fun3();
/*
* 定义形参就相当于在函数作用域中声明了变量
*/
function fun5(e){
alert(e)
}
fun5(44)
</script>
|