大家这几天一直催我让我更新博客,今天终于有时间了。
首先来说我们定义变量可以使用var来进行声明如下:
var message
给它定义了一个message的变量,他可以保存任何类型,我们可以给他定义变量的同时给他赋值
var message = "hi"
我们也可以去改变他的值
var message = "hi"
message = 100 //合法,但不推荐
var 声明作用域
1.请看以下代码
function test () {
var message = "hi" //局部变量
}
test()
console.log(message) //报错
在函数内部定义一个变量,意味着改变量早退出函数时会被销毁。
2.
function test () {
message = "hi"
}
test ()
console.log(message) //hi
原因:在去掉var message就变成了全局变量,只要调用test()定义的变量就可以访问的到。
var 声明提升
function foo () {
console.log(age)
var age = 26
}
foo()//undefiend
他不会报错,运行机制会看成
function foo () {
var age
console.log(age)
age = 26
}
foo()//undefined
这就是所谓的提升
2.反复多次的声明同一个变量也没问题
function foo () {
var age = 26
var age = 19
var age = 38
console.log(age)
}
foo()//36