javascript
局部变量和全局变量
变量的作用域
作用:起作用
域:区域,空间
变量可以起作用的范围
在JS语言中作用域只有两种:
1,全局作用域
一对script标签
2,函数作用域(局部作用域)
函数内部
变量分为两种:
1,全局变量
位置:函数外部定义
作用范围:全局,整个页面
生命周期:随着页面的关闭而销毁
2,局部变量
位置:函数内部定义
作用范围:函数内部
生命周期:随着函数的执行完毕而销毁
例子1:
var num1 = 10 //全局变量
function fn1(){
//var num1 = undefined //变量提升
console.log( num1 ); //undefined //局部变量的优先级高于全局变量
console.log( window.num1 ); //10强制访问全局变量
var num1 = 20
console.log( num1 ); // 20
console.log( window.num1 ); //10强制访问全局变量
}
fn1()
例子2:
//var num1 = undefined
//num1 = num1(){alert(1)} 变量提升阶段
console.log( num1 ); //num1(){alert(1)}
var num1 = 10
console.log( num1 ); //10
function num1(){
alert(1)
}
console.log( num1 ); //10
var num1 = function(){
alert(20)
}
console.log( num1 ); //(){alert(20)} 这边有最新赋值