美文网首页
JS中的提升

JS中的提升

作者: 木易free | 来源:发表于2018-03-21 17:34 被阅读0次

JS中包含两种提升,变量提升和函数提升。


变量提升

变量提升只能是var或者function声明的变量或者函数,let,const声明的不存在提升的说法。

顾名思义就是把下面的东西提升到上面。在函数域里定义一个和外部一样名称的变量时,只会取到该函数域,在赋值以前的输出为undefined。

在函数域内的if,for,switch语句中的变量无论条件是否满足都会得到提升,能够赋值与否要看是否满足条件。因此此处输出为2;如果!a变为a,则输出为undefined.


函数提升

定义函数有两种方式:函数声明和函数表达式。函数声明的函数才会提升函数(提升的其实是函数的引用,在声明之前可以调用),函数表达式提升的其实只是一个变量(调用会报错,因为只是一个变量)。

相关文章

  • JS中的提升

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

  • 浏览器学习笔记-JS执行

    变量提升 变量提升原理浏览器对js是先编译后执行,在编译过程中,js中的变量声明会被提升到代码段落前面。函数声明和...

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

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

  • 前端经典面试题合集(一)

    1.谈谈变量提升 考察点:js基础知识,js执行机制,变量的提升答:执行js代码时,会生成执行环境,在函数中的代码...

  • js 中的变量提升

    当浏览器加载 HTML 页面时,首先会提供一个全局的执行环境,称为全局作用域,浏览器中是 window(既是一个窗...

  • JS 中的变量提升

    概念 从概念的字面意义上说,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,但这么说并不准确。实...

  • JS中的变量提升

    js和其他语言一样,都要经历编译和执行阶段。而js在编译阶段的时候,会搜集所有的变量声明并且提前声明变量,而其他的...

  • JS中的变量提升

    1. 什么是变量提升? 当栈内存(作用域)形成, JS代码自上而下执行之前,浏览器首先会把所有带var/funct...

  • js中的变量提升、函数提升

    const\ let声明的变量,不会提升,且只能声明一次 1、var a=1 变量声明,只会提升var a 实际执...

  • 变量提升和函数提升

    JS不像C语言,C语言是先声明后使用,否则会报错。但JS中,有变量提升现象,可以先使用后声明。 JS存在变量提升,...

网友评论

      本文标题:JS中的提升

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