zoukankan      html  css  js  c++  java
  • js不是从上到下执行的吗?

    如果说js是从上到下解释执行的,
    那么,按道理应该会执行错误前面的代码。
    如:
    
    【代码一】
    //输出1,2,到3报错
    console.log("一")
    console.log("二")
    console.log(三)
    【代码二】
    //直接报错
    console.log("一")
    console.log("二")
    console.log('三")
    为什么代码二直接报错呢?
    
    我猜想:
    是因为浏览器看阅读js代码时,一开始他并不知道你写的是什么。
    他需要阅读完后才知道。
    但这个阅读并不是一下子把所有js代码读完。
    而是这样的。
    比如:

    【代码三】
    //直接报错
    console.log(1)
    function fn(){
      console.log(2)
    //}
    浏览器应该是先把所有js大概阅读一下,部署一下代码。
    比如把所有函数提到js的开头。
    当浏览器阅读到 fn(){ 的时候,他会去寻找下一个 } 来构成完整的函数。
    但是上面的代码 } 被注释了,浏览器找不到。
    也就是出现了一个语法错误,便不再继续执行。
    
    也就是说像上面的js代码应该浏览器提函数时直接查出了错误。
    
    那么,如果没有函数呢?比如【代码一】。
    我想,应该是对于括号()引号""'',这些像函数的{}一样成对的东西,浏览器也对他们进行检查了。
    毕竟他们的语法就是应该成对的。
    
    可以,这些都只是“我想”而已,有没有比较权威,或者前辈给我说说到底是怎么回事呢?
    研究一下。
  • 相关阅读:
    对Request.Url片段解析
    Php学习之路四
    解析bmp图像(某年全国软件大赛题目)
    工信部软件大赛(解析bmp)
    Php学习之路三(字符串操作)
    C++二维数组做形参
    php学习之路五(表单验证)
    PHP(学习之路一)
    PHp学习之路二(数组练习)
    解析网页(KMP算法实现部分)
  • 原文地址:https://www.cnblogs.com/daysme/p/6187539.html
Copyright © 2011-2022 走看看