变量及函数的提升

代码是从上而下执行的

  1. 变量的提升
    var定义:将声明的变量名提升至代码的最前面
    函数中声明的变量提升至函数内部最前面
    提前使用则打印undefined
  1. 全局变量概念
    没有提升,提前使用则报错 未定义
    在函数中定义全局变量,(函数执行后)可在函数外使用
  1. 局部变量:在函数内部声明的变量,不可在函数外部使用
    就近原则,使用自己内部的变量
  1. 全局变量:在全局下声明的变量,定义后,可在任何地方使用(涉及到提升)
    特殊的全局变量: window下的属性(未使用var)

函数提升

1. 函数声明式
    function fnName() {
    console.log(1);
}

整个函数体会全部提升:
函数名与变量名相同,则函数名权重会高
同名函数取最后一个同名函数

2. 函数表达式
    var fnName2 = function () {
    console.log(2);
}
 按照变量的提升方式: undefined
  1. 函数重载:Js里面是没有重载
    JS中的函数没有重新载入的概念,而是以最后一个同名函数为基准;

你可能感兴趣的:(变量及函数的提升)