• js只对等号左边的进行变量提升


    ### 只对等号左边的进行变量提升
    > =:赋值,左边是变量,右边都应该是值

    ```javascript
    //之前
    i%2 === 0?item.className = 'c1':item.className='c2';
    //现在
    item.className = i%2===0?'c1':'c2';
    ```


    ```javascript
    //匿名函数:函数表达式(把函数当做一个值赋值给变量或者其它内容)
    oDiv.onclick = function(){

    }
    //等同于oDiv.onclick == aaafff000
    ```

    > 只对等号左边进行变量提升,右边是值,不会提前声明神明的
    ```javascript
    //=>变量提升:var fn
    //带var的只对等号左边的进行声明
    console.log(fn);//=>undefined
    var fn = function(){

    };
    console.log(fn);//=>函数本身
    ```

    > 真实项目中,应用这个原理,我们创建函数的时候可以使用函数表达式的方式;
    >1、因为只能对等号左边的进行提升,所以变量提升完成后,当前函数只是声明了,没有定义,想要执行函数(只能放在赋值的代码之后执行,放在前面执行相当于让undefined执行,会报错的)
    >2、这样让我们的代码逻辑更加严谨,以后想要知道一个执行的函数做了什么功能,只需要向上查找定义的部分即可(不会存在定义的代码在执行下面的情况)

    ```javascript
    sum();// Uncaught TypeError: sum is not a function
    var sum = function(){

    }

    fn();
    function fn(){//函数表达式的方式创建函数

    }
    ```

    ```javascript

    var fn = function sum(){
    console.log(sum);//=>函数本身
    console.log(1);//=>1
    }
    // sum();//=>Uncaught ReferenceError: sum is not defined
    fn();
    ```
  • 相关阅读:
    thinkphp5ajax分頁&&搜索後分頁
    yii框架多文件上傳
    Redis:Linux安装与使用
    JSP使用Struts2标签库报错
    Dubbo:3
    Dubbo:1
    Dubbo:2
    zookeeper:master选举
    zookeeper:分布式锁简单实现(JavaApi)
    zookeeper:Curator操作节点
  • 原文地址:https://www.cnblogs.com/kpengfang/p/9865936.html
Copyright © 2020-2023  润新知