前端知识点总结

一、DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动

关系:父子关系、兄弟关心

如何移动:父节点与子节点:childNodes ,firstChild ,lastChild , parentNode

兄弟节点之间:nextSibling  , previousSibling

二、DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等

添加:appendChild(new,old)  ,  insertBefore(new,old)

删除: removeChild(node)  ,  

移除: replaceChild(new,old)

复制:cloneNode(boolean)

创建:createElement()  ,createTextNode()

查找:getElementById('ID') ,getElementsByTagName()   ,getElementsByName()

属性节点操作:getAttribute()  ,setAttribute()  ,removeAttribute()

三、事件 —— 如何使用事件,以及IE和标准DOM事件模型之间存在的差别

 事件:就是用户或者浏览器自身执行的某种行为;而响应某个事件的函数就叫事件处理程序。

 为事件指定事件处理程序的方法:在HTML中指定事件处理程序,使用js指定事件处理程序

差异:1.在绑定事件处理程序上存在差异

var btn = document.getELementById('mybutton');
1.DOM0
   btn.onclick = function(){
     ...
   }
   取消事件处理程序
   btn.onclick = null;
2.DOM2事件处理程序
   function handler(){  ...   }
   btn.addEventListener('click',handler,true/false)
   取消事件处理程序
   btn.removeEventListener('click',handler,true/false)
3.IE事件处理程序
    function handler(){  ...   }
    btn.attachEvent('onclick',handler)
    取消事件处理程序
    btn.detachEvent('onclick',handler)

2.在event对象上存在差异

1.DOM
将event作为函数的参数传递进去
btn.onclick = function (event){alert(event.tyle)}
2.在IE中
在DOM0中,event作为window对象的一个属性
btn.onclick = function(){var event = window.event;}
在DOM2中
作为参数传递进去
btn.attachEvent('onclick',function(event){alert(event.type)})

四、XMLHttpRequest —— 这是什么、怎样完整地执行一次GET请求、怎样检测错误

XHR是负责Ajax运作的核心对象

1.首先需要创建XHR对象;2.为stateReadyChange注册事件处理程序3.启动open()4.send()

五、严格模式与混杂模式 —— 如何触发这两种模式,区分它们有何意义

在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。

如果在文档开始处没有发现文档类型声明,则所有浏览器都会默认开启混杂模式!

主要是考虑到向后的兼容性。

六、JSON —— 作用、用途、设计结构

JSON是一种数据格式,通过js能够更轻松的读写,JSON数据可以非常容易的解析为js对象;

用途:存储数据、在Ajax中实现关于问题

设计结构:跟js的对象字面量很相似,但是属性需要加上双引号。

七、HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由

考虑大小写、要求正确嵌套、属性值必须加引号、对特殊字符的处理、有起始标签就需要有闭合标签、name值是不赞成使用的

HTML的不足:不利于开发和维护、在移动终端上显示的不是很理想

八、盒模型 —— 外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型

九、块级元素与行内元素 —— 怎么用CSS控制它们、以及如何合理的使用它们

 十、浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题

十一、Ajax的优势和不足

     优势: 优秀的用户体验、提高了web程序的性能、减轻了服务器和带宽的负担、不需要插件支持

     不足:浏览器对XMLHttpRequest对象的支持度不足、无法后退、对搜索引擎的支持不足、开发调试工具的不足

十二、clientHeight、offsetHeight、scrollHeight的区别

    clientHeight:表示可见区域的高度;offsetHeight:可见区域的宽度+滚动条+边框;scrollHeight:网页内容的实际高度。一般情况下offsetheight略小于scrollHeight的高度。

你可能感兴趣的:(前端)