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

变量提升与函数提升

作者: zhangjingbibibi | 来源:发表于2018-05-08 17:28 被阅读0次
  • 变量声明提升
    • 通过var定义(声明)的变量,在定义语句之前就可以访问的
    • 值:undefined
  • 函数声明提升
    • 通过function声明的函数,在之前就可以直接调用
    • 值:函数定义(对象)
  • 问题:变量提升和函数提升是如何产生的?
 console.log('-----')
  /*
  面试题 : 输出 undefined
   */
  var a = 3
  function fn () {
    console.log(a)
    var a = 4
  }
  fn()  //输出undefined

  console.log(b) //undefined  变量提升
  fn2() //可调用  函数提升  //输出fn2()
  // fn3() //不能  变量提升

  var b = 3
  function fn2() {
    console.log('fn2()')
  }

  var fn3 = function () {
    console.log('fn3()')
  }

相关文章

  • 关于变量提升

    函数提升的优先级要高于变量提升,变量提升到函数声明的后面; 变量提升,但是赋值不提升,函数表达式不提升;

  • JS中的提升

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

  • let const var

    变量提升 函数会优先于变量提升; 函数提升会把整个函数移到作用域顶部 变量提升智慧把变量的定义移到作用域顶部 wi...

  • 变量提升与函数提升

    注:变量提升,更通俗的说法是将“识别符”提升到它所作用域的最前面。 比如:函数里面申明一个变量,var i=10;...

  • 变量提升与函数提升

    变量声明提升通过var定义(声明)的变量,在定义语句之前就可以访问的值:undefined 函数声明提升通过fun...

  • 变量提升与函数提升

    变量提升与函数提升 我们知道 这个时候运行a() 输出 jirengu ;而 这个时候a()输入结果却为undef...

  • 函数提升与变量提升

    以下内容不一定对,仅个人理解 众所周知,类似var a = 1;这种可分为两步,第一步编译为var a;提升至自身...

  • js3-函数变量提升 顶层函数 数据类型转换 Math对象 js

    函数变量的提升 函数内部变量提升: 函数内部使用变量, 默认情况下, 函数会把下面变量它的声明提升到函数的最上边 ...

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

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

  • 闭包

    提升 1 变量提升 2 函数表达式 函数表达式的提升 === 变量提升 3 函数声明 demo 执行环境&词法作用...

网友评论

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

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