1. var
var
变量可以重新赋值,重复定义的,并且属于函数作用域,在函数中创建的只能在函数中使用,否则为全局变量。
<script>
var prince = 100;
var prince = 200;
console.log(prince)
</script>
以上代码,打印后的结果是200
,这是因为var
是全局变量,而且可以重复定义。而且并不会因为你声明了两个一样的变量产生冲突而报错。
<script>
function getPrice() {
var price = 100;
console.log(price);
}
getPrice();
</script>
以上代码创建一个getprice
函数,然后打印出来100
。此时var在函数作用域中起作用。如图下这样,var
声明的变量不在函数中,此时var
变量属于全局变量。这样的话就很尴尬了。
<script>
var price = 100;
var count = 10;
if(count > 5){
var discount = price * 0.6;
console.log(`The discount is ${discount}`)
}
</script>
这个时候呢,let
和const
变量的好处就体现出来了,let
和const
变量属于块级作用域,只允许在指定的声明块中起作用。
网友评论