Javascript 基础知识点 - niuben/niuben.github.io GitHub Wiki

变量

数据类型

语句

with(expression) statement label

执行环境

作用域

没有块级作用域

作用域链
变量对象
活动对象

垃圾回收

DOM

DOM级

  • DOM1
  • DOM2级核心
  • DOM2级样式
  • DOM2级事件
  • DOM2级视图
node节点

nodeType:0-12 element、attribute、text、comment nodeValue: nodeName:

Document节点

对象集合:all、forms、images、links、 对象属性:title、body 方法:getElementsByTagName() getElementById() getElementsByName()

Element节点

内容属性:nodeType nodeValue nodeName tagName className id innerHTML innerText outerHTML outerText
尺寸位置:clientWidth clientHeight offsetWidth offsetHeight offsetLeft offsetTop scrollWidth scrollHeight scrollLeft scrollTop
节点属性:parentNode childNodes firstChild lastChild nextSibling previousSibling
方法:createElement() cloneNode() insertBefore()
子元素方法:appendChild() removeChild() replaceChild()

Text节点

属性:nodeValue nodeName data
方法:createTextNode appendData removeData deleteData replaceData splitText substringData

comment节点

属性:nodeValue nodeName data
方法:createComment appendData removeData deleteData replaceData substringData

Attribute节点

属性:name value specified
方法:createAttribute() setAttribute() getAttribute() removeAttribute()

DocumentFragment节点

属性:nodeValue nodeName
方法:createDocumentFragment

事件

IE的事件冒泡和Netscape的事件捕获

DOM事件流

事件流分为三个阶段:事件捕获、在目标节点上触发、事件冒泡

绑定事件

addEventListener(eventName, function(){}, true|false),第三个属性如果为true则在事件捕获的时候就响应;
removeEventListener(eventName, function(){}) IE浏览器:attachEvent() detachEvent() this对象指向window

event对象

属性:target currentTarget stopPropagation preventDefault

Form

Canvas

创建元素:
getContext("2d") fillStyle fillRect strokeStyle strokeRect clearRect

webGL

错误处理

throw try{ }catch(){ }

JSON

stringify
parse

ajax

XMLHttpRequest 2级进度条

解决跨域方法
  • img ping:
  • JSONP:
  • Comet:长轮询、短轮询和流
  • Web Socket:
⚠️ **GitHub.com Fallback** ⚠️