欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小米面试题

程序员文章站 2022-03-27 18:56:04
1 >new生成一个对象的过程 2>请简单说明什么是事件冒泡和事件捕获以及事件委托 IE事件流叫作事件冒泡,即是事件开始有最具体的元素(文档中嵌套最深的那个节点)接受,然后逐级向上传播较为不具体的的节点 element(div)>element(body)>element(html)>Documen ......

1 >new生成一个对象的过程

  1. 生成一个空对象 var obj={};
  2. 设置新对象的constructor属性为构造函数的名称,设置对象的_proto_属性指向构造函数的prototype对象
  3. 使用新对象调用函数,函数中的this被指向新的对象
  4. 初始化完毕新对象地址,保存在等号左边的变量中

2>请简单说明什么是事件冒泡和事件捕获以及事件委托

IE事件流叫作事件冒泡,即是事件开始有最具体的元素(文档中嵌套最深的那个节点)接受,然后逐级向上传播较为不具体的的节点 element(div)>element(body)>element(html)>Document;

Netscape Communication团队提出的另一事件流叫作事件捕捉:事件捕捉的意思是不太具体的节点应该更早的接收到事件,而具体的节点应该是最后接收到事件的Document>html>body>div;

事件委托:给父元素绑定事件,用来监听子元素的冒泡事件,并找到那个子元素的还是件

定义:利用事件冒泡处理动态元素事件绑定的方法,专业术语叫作事件委托        使用事件委托技术可以避免对特定的没个节点添加事件监听器,事件监听器是被添加到他们的父元素上,事件监听器会分析从子元素冒泡上来的事件,确定并且捕捉到哪个子元素的事件

 

3>从输入一个url到浏览器页面展示都经历了哪些过程?


DNS查询-tcp三次握手-https请求:

  1. 首先,在浏览器中输入url
  2. 在浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容,若没有调到第三步
  3. 在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址
  4. 浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手
  5. 握手成功后,浏览器想服务器发送请求,请求数据包
  6. 服务器处理手段的请求,将数据返回至浏览器
  7. 浏览器收到http相应,
  8. 读取页面内容,浏览器渲染,解析HTML源码
  9. 生成dom树,解析css样式,js交互
  10. 客户端和服务端交互
  11. ajax查询