前端必要知识汇总

一. 定位: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实现局部刷新.
原文地址:https://www.cnblogs.com/webarn/p/6475770.html