首页 > 其他 > 详细

9.25

时间:2020-09-26 09:29:23      阅读:36      评论:0      收藏:0      [点我收藏+]
  • js文件以scirpt标签元素呈现在html里面的。浏览器根据html文件以此解析标签,当解析到scirpt标签时,会停止html解析,阻塞住,开始下载js文件并且执行它,在执行的过程中,如果是第一个js文件此时浏览器会触发首次渲染。 所以出现一个问题---js文件大大阻碍了html页面解析及渲染。

      因此引入async和defer两个属性(对于首屏优化有很大的提升,也要谨慎使用)

      async:开启另外一个线程下载js文件,下载完成,立马执行。(此时才发生阻塞)
      defer:开启另一个线程下载js文件,直到页面加载完成时才执行。(根本不阻塞)

  • 作用域:变量和函数能被有效访问的区域或者集合。作用域决定了代码块之间的资源可访问性。

    作用域也就是一个独立的空间,用于保护变量防止泄露,也起到隔离作用。每个作用域里的变量可以相同命名,互不干涉。
    作用域又分为全局作用域和函数作用域,块级作用域。 全局作用域任何地方都可以访问到,如window,Math等全局对象。 函数作用域就是函数内部的变量和方法,函数外部是无法访问到的。 块级作用域指变量声明的代码段外是不可访问的,如let,const。

     

    javascript采用的静态作用域,也可以称为词法作用域,意思是说作用域是在定义的时候就创建了, 而不是运行的时候。下面这个例子:

    let a=1;
    function aa(){
         console.log(a); //输出1 
    } 
    function bb(){ 
        let a=2;
         aa();
    }
    

      

     

9.25

原文:https://www.cnblogs.com/xuziying/p/13733242.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!