前端常见面试问题

docuemnt load 和 ready
  • load是当页面所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源等),执行一个函数
    问题:如果图片资源较多,加载时间较长,onload后等待执行的函数需要等待较长时间,所以一些效果可能受到影响
  • $(document).ready()是当DOM文档树加载完成后执行一个函数 (不包含图片,css等)所以会比load较快执行
    在原生的jS中不包括ready()这个方法,只有load方法就是onload事件
js 中 == 和 ===

== : 转换成同一类型,进行值的比较
===: 类型的比较

js 中 闭包

概念 : 内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包
既 : 提供一个内部函数供外部访问,其内部函数可以访问外部函数的变量
特性 :

  • 封闭性 :外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
  • 持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在。可以实现对数据的持久使用

优点 :

  • 减少全局变量
  • 减少传递函数的参数量
  • 封装‘

缺点 : 使用闭包会占有内存资源,过多的使用闭包会导致内存溢出等

点赞