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

    一、变量提升

    在我们的js中,代码的执行时分两步走的,1、解析 2、一步一步执行

    在es6之前只有全局作用域和局部作用域。 变量提升即将变量声明提升到它所在作用域的最开始的部分。后面引用到这个变量才不会出现undefined。

    var global; // 变量提升,全局作用域范围内,此时只是声明,并没有赋值
    console.log(global); // undefined
    global = 'test'// 此时才赋值
    console.log(global); // 打印出test
     
    function fn () {
      var a; // 变量提升,函数作用域范围内
      console.log(a); // undefined
      a = 'aaa';
      console.log(a); // aaa
    }
    fn();

     二、函数提升

    js中创建函数有两种方式:函数声明式和函数字面量式。只有函数声明才存在函数提升!如:

    console.log(f1); // function f1(){}

    console.log(f2); // undefined

    function f1(){} 

    var f2=(){} 

     记:第一个博文,嘿嘿

  • 相关阅读:
    tps,qps
    JS打包与代码分割
    css module
    垃圾回收算法、内存管理
    css flex布局
    angularJS transclude
    JS模块之AMD, CMD, CommonJS、UMD和ES6模块
    js event loop事件循环
    bootstrap3之栅格系统
    viewport理解
  • 原文地址:https://www.cnblogs.com/loya/p/9813064.html
Copyright © 2011-2022 走看看