美文网首页
JavaScript 函数变量提升

JavaScript 函数变量提升

作者: 城门小胡同 | 来源:发表于2020-12-25 09:54 被阅读0次

1.  同名变量只会被声明一次
2.  函数是js 的一等公民, 具有优先编译权
3.  函数被声明到变量的前面, 会被优先编译并覆盖同名变量的声明
4.  es6 之前 js 只存在两种作用域, 全局作用域 和  函数作用域

变量函数提升 是 在解析时候把 变量声明 和 函数 提升到对应作用域的顶部

下面我们通过例子一一看下
 关于if/for 代码块中的 函数还要看一下这个
https://www.lagou.com/lgeduarticle/119657.html  总结 代码块内 遇到 function  会把上次的操作映射的全局  下一个操作不是遇到函数 就是私有

简单借鉴一下吧  自己都学废了

例子: 
说明: es6 之前没有块级作用域   if代码块 中的变量 会被提升到全局变量    "条件判断中的函数要根据浏览器版本来决定是否提升到全局作用域(请看最后一个例子)"

变量提升

先变量提升 var a;  ==>  a 是 undefined  打印出"undefined"  ==>  a 赋值   打印出 "莫拉"

变量提升

函数会被优先编译  覆盖同名函数

函数提升

说明: es6 之前 只存在 全局作用域 和 函数作用域

作用域

函数字面量式  ==>  这时候函数只是具体的值 不会提升

函数字面量式 函数字面量式

条件判断中函数提升问题  低版本浏览器提升  高本版浏览器不提升

条件判断中的函数提升

目前还是搞不懂 变量和函数 谁提升到谁的前面  但是感觉不重要了,  函数会覆盖同名变量  所以貌似这些就不重要了
如有问题请多多指教

相关文章

  • 变量提升 & this指向

    变量提升 JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。JavaScript 中,变量可以在...

  • var与let、const的区别

    什么是变量提升?JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。JavaScript 中,变量...

  • JavaScript 坑与技巧:变量作用域

    变量作用域 变量提升 JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”...

  • JavaScript - 变量作用域

    JavaScript教程之变量作用域 变量提升:JavaScript的函数定义有个特点,它会先扫描整个函数体的语句...

  • 变量作用域与解构赋值

    变量提升 JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部:...

  • JavaScript 变量提升

    JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。JavaScript 中,变量可以在使用后声明...

  • JavaScript 变量提升

    JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。JavaScript 中,变量可以在使用后声明...

  • 2019-11-11-本周学习周报

    学习总览 JavaScript 函数作用域、块级作用域 变量提升、函数提升 CSS 新增属性transition ...

  • js的提升

    JavaScript 会将函数声明和变量声明提升到当前作用域的顶部。变量赋值不会提升。在脚本的顶部声明函数和变量,...

  • runoob js第六天

    JavaScript 变量提升 变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。变量可...

网友评论

      本文标题:JavaScript 函数变量提升

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