基本类型与引用类型
引用类型,动态属性,可以随时添加;基本类型添加属性,随时销毁
基本类型复制,对象复制的是一个指针,指向同一个对象
传递参数都是按值传递的 ,基本类型在调用函数内改变不影响原汁,对象在调用函数内部属性被修改影响原值,但改变对象不影响调用对象。
确定引用类型函数instanceof
执行环境与作用域
全局执行环境与函数执行环境
延迟作用域链,try/catch块与 with语句, 既try/catch引用的错误对象外部不能访问,with语句引用的对象外部不能访问
没有块作用域 ,如if,for等语句块中定义的变量,外部可以访问
垃圾收集
标记清楚,引用计数
手工解除引用,对象不再使用时,置为null
引用类型
创建 Object实例, new Object() 或 采用对象字面量 var persion ={name: "aaa", age:18};
属性访问,采用点或方括号 persion.name, persion["name"]
Array,数组的大小可以动态调整,且每一项都可以是任何类型的数据。
new Array(3) 创建包含三项的数组, new Array("aaa"),创建包含一项字符串的数组。字面量创建数据 var arr = [];
设置数组length属性小于原值,会移除后续的值;大于初值,新增项为undefined
Array.isArray() 判断是否数组
toLocalString() 与toString(), jion()
数据的栈方法push()与pop(), 队列方法shift()与unshift()
排序方法reverse()与sort(), sort()将数组项转换为字符串排序,对于数字排序sort()函数需要传入比较函数
concat()方法,参数可以为0个数组到多个数组,拼接生成新数组;slice()截取数组, splice()删除、插入、替换项
indexOf 和loatIndexOf() 查找元素位置
迭代函数,erery(), some(), filter(), map(), forEach(); 缩小数组reduce()和reduceRight()
Date,
Date.now(),返回当前毫秒
日期格式化方法,toDateString(), toTimeString()
日期组件方法getTime(),setTime(),.....
RegExp 类型支持正则表达式
var expression = /pattern/flags
实例属性 global, ignoreCase, lastIndex, multline,source
实例方法 exec() 实例设置g选项,每次返回下一个匹配项,否则都返回第一项; test()
构造函数属性
Function类型 函数是Function的实例
函数名是指向函数的指针,
函数声明与函数表达式,解析器处理不同,声明先读取,表达式顺序读取