美文网首页
函数的声明与提升

函数的声明与提升

作者: 特立独行的兔子_web | 来源:发表于2019-06-24 17:01 被阅读0次

JavaScript代码是从上而下执行的;那么,在前面使用了一个之后声明的变量会发生什么呢?
我们就来研究一下JavaScript中关于变量和函数的提升:

变量的提升:

  1. 变量的提升
    var定义:将声明的变量名提升至代码的最前面
    函数中声明的变量提升至函数内部最前面
    提前使用则打印undefined
console.log(a) // undefind
var a = 1;
console.log(a) // 1
  1. 全局变量概念
    没有提升,提前使用则报错 未定义
    在函数中定义全局变量,(函数执行后)可在函数外使用
console.log(a); // 报错
a = 1;
console.log(a); // 1
  1. 局部变量:在函数内部声明的变量,不可在函数外部使用
    就近原则,使用自己内部的变量

function fnName() {
   var a = 5;
   var f = 6;
   e = 'e';
   console.log(a); // 5
}
fnName();
console.log(e);  // 'e'
console.log(f); // 报错
  1. 全局变量:在全局下声明的变量,定义后,可在任何地方使用(涉及到提升)
    特殊的全局变量: window下的属性(未使用var)

函数的提升:

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

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

  1. 函数表达式
    var fnName2 = function () {
    console.log(2);
    }

按照变量的提升方式: undefined

  1. 函数重载:Js里面是没有重载
    JS中的函数没有重新载入的概念,而是以最后一个同名函数为基准;

相关文章

  • 函数声明提升与变量声明提升

    最近在吃饭的时候看到一道关于函数声明提升的问题 很多人在看第一眼的时候会认为结果为10,我作为一个小白第一反应也是...

  • 引用类型

    变量提升和函数声明提升   函数声明提升就是把函数声明提升到函数声明所在作用域中(或者说一个函数体内)的顶端,变量...

  • 函数的声明与提升

    JavaScript代码是从上而下执行的;那么,在前面使用了一个之后声明的变量会发生什么呢?我们就来研究一下Jav...

  • As a Interviewer

    1,函数声明与函数表达式的区别是什么? 考察点:函数声明提升 答:函数声明在函数调用时可以提前调用,存在“函数声明...

  • JavaScript 函数

    一、函数的定义与调用 1、定义 函数的声明 函数声明必须有名字函数声明会函数提升,在预解析阶段就已创建,声明前后都...

  • js变量声明提升与函数表达式

    1.变量声明提升 js引擎会把变量声明与函数声明都提升到当前函数的顶部。eg: js引擎编译为 2.函数表达式 对...

  • javascript函数声明与函数表达式的区别

    javascript 函数声明与函数表达式的区别 就一点,函数声明有函数声明提升效果,可以在定义之前就引用,而函数...

  • JS函数与作用域(进阶3作业)

    1.函数声明和函数表达式有什么区别 函数声明 代码执行时函数声明会被提升到最前执行,所以函数的调用与函数声明的顺序...

  • 作用域

    变量声明提升 在 JavaScript 中,函数声明(function aa(){})与变量声明(var)经常被 ...

  • JS中创建函数的几种方式

    1.使用 "函数声明" 创建函数函数声明具有函数声明提升的特点,将函数声明提升到作用域顶端,意思是在执行代码之前会...

网友评论

      本文标题:函数的声明与提升

      本文链接:https://www.haomeiwen.com/subject/obpoqctx.html