zoukankan      html  css  js  c++  java
  • JavaScript的执行步骤

      首先,第一步是预解析阶段,也可以叫做检查装载阶段,在这个阶段里面会检查js的语法错误,然后进行变量的提升和函数的声明,第二步是执行阶段,会进行变量的赋值和函数的调用,下面我们声明了一个函数,但是调用它的步骤放在了上面,再来看控制台的结果:

    1     A()
    2     function A() {
    3         console.log('你好')
    4     }    

      控制台会输出:

      在这个运行过程中,我们其实首先会将函数的整个声明提升到最前面,然后再执行调用,所以控制台不会报错,我们再给代码里添加点东西,在A函数里面添加一个aname = '小红' 输出也改为 console.log(name+‘你好’) 此时控制台也同样不会报错,首先依旧我们函数的声明会提升上去,而函数里面有个变量,虽然我们没有用var来定义,但是他会自动添加到全局变量里面,

    这些步骤都是在我们调用这个函数之前发生的事情,所以不会出问题,但是如果我们将anma提取出来,放在函数的上面,那么控制台就会报错了,

     ok,说我们的aname没有定义,我们给他加上一个var以后控制台

    这边的执行步骤是这样的,我们首先会把var uname 和function A(...)提取到最上面,但是此刻uname是没赋值的所以是undefined,那么这个函数A里面就是输出undefined了,我们再调用它那结果可想而知.

    注意匿名函数必须要先声明再调用!

  • 相关阅读:
    黑客无处不在
    微博对我的影响
    WPF Chart DynamicDataDisplay的横坐标显示日期的解决方案
    java虚拟机中的字节码
    python解释器的使用
    Python学习环境设置
    变量的概念
    创建虚拟环境和常用包
    第三章笔记
    第一章笔记
  • 原文地址:https://www.cnblogs.com/xzsblog/p/13100040.html
Copyright © 2011-2022 走看看