小米面试题
程序员文章站
2022-03-27 18:56:04
1 >new生成一个对象的过程 2>请简单说明什么是事件冒泡和事件捕获以及事件委托 IE事件流叫作事件冒泡,即是事件开始有最具体的元素(文档中嵌套最深的那个节点)接受,然后逐级向上传播较为不具体的的节点 element(div)>element(body)>element(html)>Documen ......
1 >new生成一个对象的过程
- 生成一个空对象 var obj={};
- 设置新对象的constructor属性为构造函数的名称,设置对象的_proto_属性指向构造函数的prototype对象
- 使用新对象调用函数,函数中的this被指向新的对象
- 初始化完毕新对象地址,保存在等号左边的变量中
2>请简单说明什么是事件冒泡和事件捕获以及事件委托
IE事件流叫作事件冒泡,即是事件开始有最具体的元素(文档中嵌套最深的那个节点)接受,然后逐级向上传播较为不具体的的节点 element(div)>element(body)>element(html)>Document;
Netscape Communication团队提出的另一事件流叫作事件捕捉:事件捕捉的意思是不太具体的节点应该更早的接收到事件,而具体的节点应该是最后接收到事件的Document>html>body>div;
事件委托:给父元素绑定事件,用来监听子元素的冒泡事件,并找到那个子元素的还是件
定义:利用事件冒泡处理动态元素事件绑定的方法,专业术语叫作事件委托 使用事件委托技术可以避免对特定的没个节点添加事件监听器,事件监听器是被添加到他们的父元素上,事件监听器会分析从子元素冒泡上来的事件,确定并且捕捉到哪个子元素的事件
3>从输入一个url到浏览器页面展示都经历了哪些过程?
DNS查询-tcp三次握手-https请求:
- 首先,在浏览器中输入url
- 在浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容,若没有调到第三步
- 在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址
- 浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手
- 握手成功后,浏览器想服务器发送请求,请求数据包
- 服务器处理手段的请求,将数据返回至浏览器
- 浏览器收到http相应,
- 读取页面内容,浏览器渲染,解析HTML源码
- 生成dom树,解析css样式,js交互
- 客户端和服务端交互
- ajax查询