当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 小米面试题

小米面试题

2018年07月31日  | 移动技术网IT编程  | 我要评论

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查询

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网