zoukankan      html  css  js  c++  java
  • 变量提升

    //基础(变量提神后 var a;  console.log(a)   a=1   声明会被提到顶部,而a=1在原地不动)
        console.log(a)  //underfind
        var a=1

        //例子1  
        //这里举了一个例子,我创建了一个函数a 判断这个b是否有值;在判断里面声明了B。运行结果是5
        //如果当前作用域中存在此变量声明,无论它在什么地方声明,引用此变量时就会在当前作用域中查找,不会去外层作用域了。
        function a() {
            //编译后 var b;
            if (!b) {
                var b = 5;  //编译后:b=5
            }
            console.log(b); // 5
        }
        a();

        //第二个例子  (因为函数内部已经存在变量b,所以不会再去外部执行)
        var b = 3;
        function a() {
            //编译后  var b;
            var b = b || 10; //编译后:b=b||10
            console.log(b)  //10
        }
        a();  //运行结果是10

        //第三个例子(JavaScript没有块作用域,只有全局作用域和函数作用域)
        function a() {
            //编译后   var b;
            var b = 3;    //编译后b=3;
            {
                var b = 5;//编译后b=5;
            }
            console.log(b);//b=5
        }
        a();  //运行结果是5,为什么呢,其实跟上面的例子相同,只不过执行顺序的原因
  • 相关阅读:
    撕衣服的简易实现
    简易的画画板的实现
    图片简易处理
    在内存中创建原图的副本
    缩放图片并加载到内存中
    加载大图片的OOM异常
    计算机表示图形的形式
    虚拟短信
    ContentProvider 共享数据
    内容观察者
  • 原文地址:https://www.cnblogs.com/yangxiaoxin/p/14554910.html
Copyright © 2011-2022 走看看