js面试基本知识点

Javascript的装载和执行

  1. 载入后马上执行
  2. 执行时会阻塞页面后续的内容(包括页面的渲染、其它资源的下载)
    head里的

document.ready 和 window.onload 的区别

  1. jq中 ( f u n c t i o n ( ) ) (function(){}) 和 (document).ready(function(){})这两个方法的效果都是一样的,都是在dom文档树加载完之后执行一个函数方法在DOM树加载完成后就会执行
  2. window.onload是在页面资源(比如图片和媒体资源,它们的加载速度远慢于DOM的加载速度)加载完成之后才执行

基本数据类型

6种,boolean,number,string,undefined,null,symbol

操作符的优先级

image

null是Object吗

虽然 typeof null会输出 object,但是这只是 JS 存在的一个悠久 Bug。在 JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,000 开头代表是对象,然而 null 表示为全零,所以将它错误的判断为 object 。虽然现在的内部类型判断代码已经改变了,但是对于这个 Bug 却是一直流传下来。

闭包

  • 闭包是指:可以访问其他函数内部变量的函数

闭包作用

  1. 读取函数内部的变量
  2. 让这些变量的值始终保持在内存中。不会调用后被自动清除。
  3. 方便调用上下文的局部变量。利于代码封装。

js的事件流

  • dom2中规定事件流包含三个阶段:
    1. 事件捕获阶段
    2. 事件目标阶段
    3. 事件冒泡阶段
  • addEventListener是DOM2级事件新增的指定事件处理程序的操作
    • 发布订阅模式
    • 这个方法接收3个参数:
      1. 要处理的事件名
      2. 作为事件处理程序的函数(回调函数)
      3. 一个布尔值,true,表示在捕获阶段调用事件处理程序;false,表示在冒泡阶段调用事件处理程序。
  • e.target和e.currentTarget的区别
    currentTarget始终是监听事件者,即addEventListener的调用者
    target是事件的真正发出者
原创文章 8 获赞 0 访问量 134

猜你喜欢

转载自blog.csdn.net/qq_41785922/article/details/105208225