js执行顺序1

2019-06-19  本文已影响0人  关耳木南
<script type="text/javascript">
    /*
     
    delete 关键字 删除对象的属性
    var obj = {
        a:1
    }
    b = 2;//挂载到了顶层的window上
    delete obj.a;
    console.log(obj.a)//undefined
    console.log(window.b)//2
    delete window.b;
    console.log(window.b)//undefiend

    js执行顺序
        js第一阶段  编译期  对代码进行静态分析 找声明的变量、函数
                            检查代码是否符合规范
        js第二阶段  执行期   运行js代码


     let  a=1;  //let不具备变量提升
     alert(a);

     let b = 2;
     function fn(c=3){//es6中形参参数可以赋值
        console.log(c)
     }
     fn(b);//2

     */ 
     console.log(a);//function a(){}
     var a=1;
     function a(){};
     console.log(a);//1
//---下方交换变量和函数的位置
     console.log(b);//function(){}  此处仍然打印出函数体,因为函数在js里是一等公民,所以如果同作用域出现函数声明和var等等的声明变量关键字所声明的变量名冲突时,function会覆盖其他的变量名
     function b(){};
     var b=2;    
     console.log(b);//2
     //编译期
     //     var a  
     //     function a(){}
     //执行期
     //     console.log(a)
     //     a=1
     //     console.log(a)      




</script>
上一篇 下一篇

猜你喜欢

热点阅读