直接写代码
//在声明之前调用函数 在文尾解答
MyDemo();
alert(name);// 在调用方法之后可以使用内部的变量10
function MyDemo(){
name=10; //不加var let const
console.log(name);
}
MyDemo1();
alert(name);//变量定义了var 返回空 无法调用
function MyDemo1(){
var name=10;
console.log(name);
}
在看一个变量的操作:
x=5;y=7;
console.log("输出x的值:"+x+" "+"输出y的值:"+y); //x=5,y=7
var y; //在最后声明了y变量
console.log(y); //输出7
在对比下面的代码
x=5;
var y;
console.log("输出x的值:"+x+" "+"输出y的值:"+y); //x=5,y=undefined
y=7;
console.log(y);//输出7
JS能出现上面代码的原因是因为Hoisting(提升机制)
可以看出JS中的变量声明会被Hoisting到顶部(函数也存在Hoisting) 注意 ( let 不存在变量提升)