全局变量
<script>
var num=10;
console.log(num);//10
</script>
<script>
console.log(num);//10
</script>
局部变量
<script>
function f1(){
var num = 10;
}
console.log(num); //报错
</script>
var声明的变量没有块级作用域,而let声明的变量是有块级作用域的
{
var yao1 = 1;
let yao2 = 2;
console.log(yao1); //1
console.log(yao2); //2
}
console.log(yao1); //1
console.log(yao2); //报错
隐式全局变量
<script>
function f1(){
num = 10; //隐式全局变量
}
f1(); //如果不执行这个函数,下面会报错
console.log(num); //10
</script>
var全局变量是不能被删除
隐式全局变量是可以被删除的
<script>
var num = 10;
test = 20;
delete num;
delete test;
console.log(num);
console.log(test);//报错
</script>