腾讯分分彩组三杀号 > Web分析 >

应届毕业生在web前端面试中常用问题

2018-07-08 00:25

  所有HTMl元素都可以看作盒子,在CSS中,“box model”这一术语是用来设计和布局时使用

  css模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容

  当你指定一个css元素的宽度与高度时,你只是指定内容区域的宽高,元素真正的宽高为:内容+填充+边框+边距

  兼容问题:在IE5.x和6中使用自己的非标准模式,导致设置的width即为内容加边框加填充的总和。为解决这个问题,最好在元素的父元素及子元素上面设置内边距和外边距

  DOM:文档对象模型,定义了表示和修改文档所需的对象,这些对象的行为和属性以及这些对象之间的关系。通过js,您可以重构整个HTML文档,您可以添加移除改变和重排页面上的项目

  要改变页面上的某个东西,js就需要获得对HTML文档中所有元素进行访问的入口,这个入口,连同对HTML元素进行添加,移动和改变或移除的方法和属性,都是通过文档对象模型来获得的。

  它的结构:可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现

  js移动节点:如果appendChild()传入的节点已经存在,即已经是文档的一部分了,那么将从原来的位置转移到新的位置

  因此,如果在调用appendChild()时传入父节点的第一个子节点,那么这个子节点将变成父节点的最后一个子节点

  js插入节点到任意位置:insertBefore(),这个方法接受两个参数:要插入的节点和作为参照的节点。插入节点后,插入的节点会作为被参照的节点的同胞节点(previousSibling)

  js替换节点:replaceChild(),接受的两个参数是:要插入的节点以及要替换的节点。要替换的节点 仍然存在只是从文档树中被移除,找不到它的位置。

  js移除节点:removeChild(),这个方法接受一个参数,即要移除的节点,被移除的节点将成为方法的返回值。

  js克隆节点:cloneNode(),这个方法所有节点共有,接受一个布尔值,表示是否执行深复制(为true表示复制节点及其子节点,否则只复制节点本身)。

  document.findElementByID(id):id必须完全匹配,区分大小写。IE7及以前的版本虽然不区分大小写,但是如果存在表单的name属性与要找的id相同,并且位置在该id元素之前,

  那么结果会返回那个表单元素,解决的办法是尽量不要使表单的name属性值与某个id相同。

  假如 页面中存在多个相同id,查找该id元素时,只会返回第一个id符合的元素;

  也可以使用namedItem()方法获取对象的项,前提是需要为每一项添加name属性,再通过name查找该项。

  XMLHttpRequest:ajax能够向服务器请求额外的数据而无须卸载页面,而这一技术的核心是XMLHttpRequest对象(简称XHR)。

  XHR为向服务器发送请求和解析服务器响应提供了流畅的接口,这种技术虽然包含XML但是与数据格式无关,就是无须刷新页面即可从服务器获得数据,但是不一定是XML数据

  //3.url相对于执行代码的当前页面,当然也可以使用绝对路径,但是必须与当前页面使用的域名,协议,端口相同,否则都会引起安全错误

  //send()接收一个参数,即作为请求主体发送的数据。如果不需要通过请求主体发送数据,则必须传入null

  //status:响应的http状态,200作为成功的标志;304代表请求的资源并没有被改变,可以直接使用浏览器中缓存的版本

  5.web服务器发送应答头信息,关于它自己的信息及被请求的文档,最后发送一个空白表示头信息发送结束

  6.Web服务器向浏览器发送数据,以Content-Type应答头信息所描述的格式发送用户所请求的实际数据

  7.web服务器关闭tcp连接,一旦Web服务器向浏览器发送了请求数据,它就要关闭tcp连接。

  通过检测readyState属性,该属性表示请求/响应过程的当前活动阶段:

  在调用open之前指定onreadeystatechange事件处理程序才能确保跨浏览器的兼容性。

  在检测基本数据类型时,使用typeof是非常方便的,但是在检测复杂类型例如Object时,我们或许并不关心它是不是一个对象,我们关心的是它是一个什么对象类型