DOM
文档对象模型(DOM,Document Object Model)提供访问和操作网页内容的方法和接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。
BOM
浏览器对象模型(BOM,Browser Object Model)。提供与浏览器交互的方法和接口。 重要的对象和方法: 窗口位置——screenLeft,screenTop(screenX,screenY) 窗口大小——innerWidth,innerHeight,outerWidth,outerHeight 导航和打开窗口——window.open() 间歇调用——setInterval() 超时调用——setTimeout() location对象——包含属性hash,host,hostname,href,pathname,port,protocol,search
严格模式
ECMAScript 5引入了严格模式(strict mode)这个概念。严格模式是为JavaScript定义了一种不同的解析与执行模型。在严格模式下,ECMAScript3的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。 通过在脚本顶部或者函数内部上方添加
"use strict";
即可指定脚本或函数在严格模式下执行
七种数据类型
空值(null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(string) 对象(object) 符号(symbol,ES6中新增)
垃圾收集
标记清除(mark-and-sweep)。给进入环境和离开环境的变量加上不同的标记,定时清理离开环境的变量。 引用计数(reference counting)。追踪记录所有值被引用的次数,当变为0时即可回收。存在的问题:循环引用导致永远无法回收。解决办法:将循环引用的变量设置为null(解除引用)。 ####对象(object) Object构造函数
var person = new Object();
person.name = "Tom";
person.age = 22;
对象字面量表示法
var person = {
name : "Tom",
age: "22"
};
函数内部属性
函数内部有两个特殊的对象:arguments和this。 arguments的主要用途是保存函数参数。但这个对象内部还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。 this引用的是函数执行的环境对象。
函数的属性和方法
属性: length:表示函数希望接受的命名参数的个数 prototype: 方法: apply(): call(): 上述两个方法的用途都是在特定的作用域中调用函数,区别是apply()传入参数数组,而call()需要将参数逐一传入。 bind():(ECMAScript5定义)该方法会创建一个函数的实例,其this值会被绑定到传给bind()函数的值。