functionf1(){
number =1000;//隐式全局变量}f1();
console.log(number);// var num1 = 10;// num2 = 20;// delete num1;//把num1删除// delete num2;//把num2删除// console.log(typeof num1);//number// console.log(num1+10);//20// console.log(typeof num2);//undefined//扩展:隐式// function f1() {// var num = 100;// num += 10;// }// f1();//这个函数结束之后// {// var num = 10;// console.log(num);//10// }// console.log(num);// if (true) {// var num = 10;// }// console.log(num);//10// for (var i = 0; i < 5; i++) {// var number = 20;// }// console.log(number);//20// var i = 0;// while(i<5){// var num = 100;// i++;// }// console.log(num);//100// function f1() {// var num = 10;// }// f1();// console.log(num);//100// var num = 10;// console.log(num);//10
预解析
//预解析:提前解析代码
/**
*预解析: 就是在解析代码之前
*预解析做什么事情?
*把变量的声明提前了------提前到当前所在的作用域的最上面
*函数的声明也会被提前-----提前到当前所在的作用域的最上面
*
*
*
*/
//函数在调用的时候 会把函数的声明提升到作用域的最上面
// f1();//调用
// var num = 20;//把这个变量的声明会提升到变量使用之前
// function f1() {
// console.log(num);
// }
// function f1() {
// console.log("今天外面好吵");
// }
// f1();
// function f1() {
// console.log("这是f1啊啊啊");
// }
// f1();
//把变量的声明提前了
var num;
console.log(num);//undefined
num = 10;
function f1() {
console.log("哈哈 这是f1啊啊啊啊");
}
f1();