今天在项目中碰到一个代码顺序问题,先记录下来,怕以后又忘了,原因如下:

fn();

function fn(){alert(11)}//代码没问题,会alert的11

后来改成:

obj.fn()

var obj={

   fn:function(){

    alert(11)

  }

}

结果就报错了,将对象的定义放到调用方法之前就不会报错

原因:解释程序会执行两步骤,第一步:先对var声明的变量和function函数进行处理(这时候obj=undefined,function还是函数),所以执行obj.fn()会报错,第二步:执行代码

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-21
  • 2021-07-29
  • 2022-12-23
  • 2021-05-29
  • 2022-12-23
猜你喜欢
  • 2021-05-17
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2022-03-01
  • 2021-11-30
  • 2021-10-16
相关资源
相似解决方案