声明变量var与let和const的区别
JavaScript的变量是松散的,即变量是可以保存任何类型的数据。每一个变量不过是保存任意值的**‘命名占位符’。可以声明变量的有:var、let、const;其中var时JavaScript最早使用的声明可以在任意版本的JavaScript中使用,而let以及const只能在ES6或更晚的版本中使用。
一、 var关键字
使用 : var 变量;
列子 : var name;
如果只有name 却没有赋值的话 只会显示 undefined (未定义的、未赋值的)
<script>
// 声明变量 并输出
// 1.一种
var name = 'shy';
conlose.log(name)
// 2. 另一种
name = 'sunhy'
conlose.log(name)
</script>
图片实例 :
我们可以看到第一种和第二都可以成功的输出,但是并不推荐使用第二种写法,不推荐的原因:
1.var的声明作用域
(1)var的操作符定义的变量会成为包含他的函数的局部变量。那么这个变量将在函数调用执行结束后退出销毁,在之后调用函数内部的变量不会显示!
<script>
function scope() {
var aaa = "shy" //局部变量
}
piece();
console.log(aaa) //出错!
</script>
(2)不适用var关键字,相当于在函数内部声明了一个全局变量,变量不会受函数的影响,只要调用一次该函数,在全局都可以调用,但是也导致代码混乱使代码语义化开发维护变得困难,在严格模式下不可用。
<script>
function scope() {
aaa = "shy" //全局变量
}
scope();
console.log(aaa) //"Tom"
</script>