美文网首页
js的变量提升与函数提升

js的变量提升与函数提升

作者: 莹莹宋 | 来源:发表于2017-11-13 12:54 被阅读0次

什么是变量提升

JavaScript 中,变量的声明都将被提升到函数的最顶部。也就是说变量可以先使用再声明。简单的说将var的变量声明提到函数最上面,不能将变量的值和变量的引用提升到函数最上面。如下图所示:

图1

图1函数输出结果为undefined和1说明a在第一个console的时候就已经被定义了,但是没有给a赋值。不然的话会报错。图1的等价代码如图2

图2

下面也是关于变量提升的例子:

图3 图4

图4是图3的等加代码。图一的代码不容易理解,建议在函数开始时对所有局域变量进行定义,不建议在ES6中使用var定义变量使用变量提升。

什么是函数提升

图5

由图5可知函数也有提升这个概念,这时候应该有一个疑问,在函数内是定义变量在最前面还是函数在最前面?函数再最前面。当变量名与函数名重复时,函数的优先级更高。如图6

图6

相关文章

  • JS中的提升

    JS中包含两种提升,变量提升和函数提升。 变量提升 变量提升只能是var或者function声明的变量或者函数,l...

  • Javascript 变量执行过程 和 数组 & 对象的区别

    变量提升 JS执行过程1. 先提升(先提升函数,再提升变量,如果名字一样,变量提升会覆盖函数提升)2. 再执行,如...

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

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

  • 猫眼

    var变量提升,函数声明提升,消除变量声明提升(let); 高阶函数,函数式的编程,柯里化 原型链继承,js面向对...

  • js变量提升与函数提升

    从别人给我的一道题目说起,请问执行下面语句后的输出结果 我最初的答案是: 其实应该是 这道题包含了了函数提升与变量...

  • js的变量提升与函数提升

    什么是变量提升 JavaScript 中,变量的声明都将被提升到函数的最顶部。也就是说变量可以先使用再声明。简单的...

  • JavaScript(一)---变量提升及其意义

    js中函数function及变量var的声明都将被提升到函数的最顶部。但是变量的初始化不会提升。 变量提升的原因 ...

  • js中变量和函数声明的提升

    二 、 js中变量和函数声明的提升

  • 深入理解js变量提升和函数提升

    一. 变量提升 这就是变量提升,实际上它的执行顺寻为: 二. 函数提升js中创建函数有两种方式:函数声明式和函数字...

  • JS 变量提升 函数提升

    概念 首先,看这篇文章之前确保你已经理解了js作用域。其次要补充,js在运行的时候,会优先加载当前作用域下的变量。...

网友评论

      本文标题:js的变量提升与函数提升

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