//=>变量提升:var x; var y;
// 此时不仅仅定义了fn,同时给fn一个空间地址,把fn对应的代码字符串放到对应的空间内;
console.log(x, y);//undefined undefined
var x = 10,
y = 20;//=>x=10 y=20
console.log(x,y);//10 20
//=>函数创建的时候就是字符串
function fn() {
//=>[私有作用域]
//=>变量提升和this:var x; (x是私有变量)
console.log(x, y);//=>undefined 20
var x = y = 100;//=>x=100(私有) y=100(全局)
console.log(x, y);//=>100 100
}
fn();//=>执行的时候,此时函数变为真正的js代码
console.log(x, y);//=>10,100;因为这个y对应的值在fn中改变了