zoukankan      html  css  js  c++  java
  • 变量声明提前与函数声明提前

    - 变量的声明提前
    - 在全局作用域中,使用var关键字声明的变量会在所有的代码执行之前被声明,但是不会赋值。
    所以我们可以在变量声明前使用变量。但是不使用var关键字声明的变量不会被声明提前。
    - 在函数作用域中,也具有该特性,使用var关键字声明的变量会在函数所有的代码执行前被声明,
    如果没有使用var关键字声明变量,则变量会变成全局变量

    - 函数的声明提前
    - 在全局作用域中,使用函数声明创建的函数(function fun(){}),会在所有的代码执行之前被创建,
    也就是我们可以在函数声明前去调用函数,但是使用函数表达式(var fun = function(){})创建的函数没有该特性
    - 在函数作用域中,使用函数声明创建的函数,会在所有的函数中的代码执行之前就被创建好了。

    例子

    1.不管用不用var声明的变量都会输出:

     2.用var修饰的变量会进行变量声明提升,但是不会赋值;而不用var修饰的变量不会进行变量提升

     

     3.function fun(){},会在所有的代码执行之前被创建,而var fun = function(){}创建的函数没有该特性

     

     4.

     5.

    .

     总结:管它什么鬼的变量提升函数提升,只要先定义,后面再执行就好啦!!

    穷则独善其身,达则兼济天下……
  • 相关阅读:
    google code jam exercise——Your Rank Is Pure
    C/C++中的文件操作(2)
    google code jam exercise——File Fix It
    google code jam exercise——All Your Base
    C/C++中的文件操作(1)
    google code jam exercise——Center of Mass
    C/C++字符串操作split
    JavascriptDOM
    Javascript特权方法
    Report子报表
  • 原文地址:https://www.cnblogs.com/hmy-666/p/14422388.html
Copyright © 2011-2022 走看看