学习前端面试知识(11)

2024-8-10  打卡第十一天  学习视频链接

es6中的module

  • module能单独命名,数据和代码的集合体
  • 特征:
    •  外部特征:主要指的是模块与外部环境(如其他程序或模块)联系的接口,以及模块所展示的功能。包括输入输出参数,引用的全局变量。
    • 内部特征:内部环境具有的特点,对应局部函数,数据,代码
  • 为什么需要模块化:代码抽象,代码封装,代码复用,依赖管理
  • 没有模块化
    •  变量和方法不容易维护,容易污染全局作用域
    • 加载资源的方式通过script标签从上到下
    • 引入资源
  • js模块化机制
    •  commonjs nodejs
    • AMD(require.js)
    • CMD(sea.js)

函数式编程

  • 三种编程范式
    •  命令式编程
    • 声明式编程
    • 函数式编程:强调函数执行的结果而非过程,使用简单的单元逐层推导
      •  优点:
        •  能够更好的管理状态,因为终止是无状态,优化代码减少出错的情况
        •  更简单的复用,固定输入和固定输出,无外部影响和副作用
        • 更优雅的组合
        • 隐形好处是减少代码量,提高维护性
      • 缺点:
        • 性能:对方法进行过度包装,产生上下文切换的性能开销
        • 资源占用:js对垃圾回收所产生的压力超过其他方式
        • 递归陷阱:迭代使用递归操作,会陷入递归陷阱 

CSR和SSR

  • CSR:客户端渲染
  • SSR:js文件比较大,加载慢,首屏白屏。用SSR服务端渲染解决问题,由服务端直接生成html返回给浏览器来渲染首屏内容,但是服务端渲染页面交互能力有限,实现复杂交互,引入js文件。把页面的展示内容和交互写在一起,代码执行两次,叫做同构
  • 两个的区别就在于最终的html代码是从客户端添加的还是服务端添加的。从客户端添加的就是CSR,从服务器渲染的就是SSR

html文档渲染过程中,css文件和js文件的下载,是否会阻塞渲染

  • CSS阻塞:CSSDOM tree和DOM tree合成 render tree绘制页面。css文件的下载和解析不会影响dom解析,但是会阻塞dom渲染。并且在css文件没下载和解析完成之前,后续的js脚本不能执行。css文件的下载不会阻塞前面的js脚本执行。
  • js阻塞:js文件的下载和解析会阻塞GUI渲染进程,也就是会阻塞dom和css的解析和渲染过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值