一. 定位:position值有哪些?分别有什么作用?
- fixed: 生成绝对定位的元素,通常相对于浏览器窗口或frame定位.脱离文档流(IE6不兼容)
- absolute: 生成绝对定位的元素,行对于最近一级的父级定位.最高位body.脱离文档流
- relative: 生成相对定位的元素,相对于其在普通流中的位置定位.针对本身.
- static: 默认值,没有定位,元素出现在正常流中
- sticky: 生成粘性定位的元素,容器的位置根据正常文档流计算得出.
二. 如何解决跨域问题:
- jsonp: 原理是动态插入script标签引入一个js文件,这个js文件载入成功后,会载入我们在URL参数值指定的函数,并且会把我们需要的jsonn数据作为参数传入优点:兼容性好,简单易用.支持浏览器与服务器双向通信.缺点是只支持get请求.
- CORS: 服务器端对于
CORS
的支持,主要就是通过设置Access-Control-Allow-Origin
来进行的。如果浏览器检测到相应的设置,就可以允许Ajax
进行跨域的访问 - window.name: window对象有个name属性,还属性有个特性:即在一个窗口(window)的生命周期,敞口载入的所有的页面都是共享一个
window.name
的,每个页面对window.name
都有读写的权限,window.name
是持久存在一个窗口载入过的所有页面中的. - HTML5新特性window.postMessage:
三. XML和json的区别:
- 数据体积方面: json相对于xml来讲,数据的体积小,传递的速度更快
- 数据交互方面: json与JavaScript的交互更方便,更容易解析,更好的处理数据
- 数据描述方面: json对数据的描述性比XML差
- 传输速度: json的速度远远快于XML
四. webpack:
- webpack是一个模块打包工具,你可以使用webpack管理你的模块依赖,并编译输出模块们所需的静态文件.它能够很好的管理 打包web开发中所用到的HTML JavaScript CSS以及各种静态文件. 让开发更加高效,对于不同类型的资源,webpack有对应的模块加载器.webpack模块打包器会分析模块间的依赖关系,最后生成优化切合并后的静态资源
- 特色: code splitting 可以自动完成 loader可以处理各种类型的静态文件,并且支持串联操作
- webpack是comminJS的形式来书写的.
对 CommonJS 、 AMD 、ES6的语法做了兼容
-
串联式模块加载器以及插件机制,让其具有更好的灵活性和扩展性,例如提供对CoffeeScript、ES6的支持
-
有独立的配置文件webpack.config.js
-
可以将代码切割成不同的chunk,实现按需加载,降低了初始化时间
-
支持 SourceUrls 和 SourceMaps,易于调试
-
具有强大的Plugin接口,大多是内部插件,使用起来比较灵活
-
webpack 使用异步 IO 并具有多级缓存。这使得 webpack 很快且在增量编译上更加快
五. TCP和UDP的区别
TCP
(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP
连接必须要经过三次“对话”才能建立起来UDP
(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。
六. 作用域链的理解
(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.
(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
(3)设置响应HTTP请求状态变化的函数.
(4)发送HTTP请求.
(5)获取异步调用返回的数据.
(6)使用JavaScript和DOM实现局部刷新.