先来了解一些基本且非常重要的概念
1、函数将js的运行环境分为函数内部和函数外部两部分。
2、函数内部使用var声明的变量,和函数外部的变量,互不影响。
3、函数内部的环境称为函数作用域或局部作用域。
4、相对局部作用域而言,整个运行环境称为全局作用域。
5、函数内部var声明的变量,只能在函数内部使用,这种变量们叫做局部变量。
6、全局环境下的变量,在任何地方都可以使用,叫做全局变量。
特殊情况:函数里面声明了变量,则使用自己的;如果没有声明变量,则使用全局变量。
举例如下:
//情况一
var num = 100;
(function(){
var num = 200;
console.log(num);//由于在函数内部使用var定义了一个num变量,所以优先使用内部的,输出200
})();
console.log(num);//使用函数外部的num,输出100
//情况二
var num = 100;
(function(){
console.log(num);//由于在函数内部没有定义num变量,所以使用外部的全局变量,输出100
})();
console.log(num);//使用函数外部的num,也输出100
以上就是关于局部作用域和全局作用域的说明,请大家务必认真理解,因为这是最基本的语法。
|