引用类型的值(对象)是引用类型的一个实例,在ES中引用类型是一种数据结构,将数据和功能组织在一起。引用类型有时候也被称之为对象定义,因为他们描述的是一类对象所具有的属性和方法。
Object类型
两种创建方式
1 new Object()
var person  = new Object();
person.name = "jing";
person,age = 20;
2 对象字面量
var person = {
    name:"jing",
    age:20
}
属性的访问两种方式,1-person.name,
2-person['name'],后一种方式的好处可以用来在代码中拼接属性名。
Array
创建方式
// 使用new Array() 构造函数
var arr1 = new Array();
var arr2 = new Array(20); // 长度为20
var arr3 = new Array("red","blue","yellow");
// 数组字面量表示法
var arr4 = ["red","blue","yellow"];
检测数组方法
- arr instanceof Array,页面多个框架引起的多个全局执行环境问题。怎么理解呢(?)
- ES5引入的Array.isArray(arr)解决上面的问题 #### Array的常用方法
- 转换方法(所有对象都具有),toString()/toLocalString()/ValueOf()
- 栈方法,push()
- 队列方法,shift()unshift()-添加元素
- 重排序,reverse()和sort()(?)
- 操作方法,concat()slice()和splice()-删除/插入/替换
- 位置方法,indexOf()lastIndexOf()
- 迭代方法,every()/filter()/forEach()/map()/some()
Date
创建方法
var date1 = new Date(args);
常见使用方法
- 转换方法,toString()/toLocalString()/ValueOf()
- 日期格式化方法,toDateString()toTimeString()toLocalDateString()toLocalTimeString()toUTCString()
- 日期时间组件方法,getTime/Date/Year/Month()...setTime/Date/Year/Month()...get和set 获取时间,设置时间
regExp
regExp是ES支持正则表达式的一个接口
正则表达式,用得好可以少写很多逻辑代码
Function
- 函数声明和函数表达式,解析器在加载数据时候,会对函数声明进行函数声明提升
- 作为值得函数,函数可以作为参数传入到另一函数中的使用方法
- 内部属性和方法 arguments,this,.length,.prototypeapply()call()
- 没有重载
Boolean
        var falseObj = new Boolean(false); 
        var falseValue = false;
        console.log(falseObj && true); // true
        console.log(falseValue && true); // false
        console.log(typeof falseObj); // Object
        console.log(typeof falseValue); // boolean
        console.log(falseObj instanceof Boolean); // true
        console.log(falseValue instanceof Boolean) // false
- Boolean类型是与布尔值对应的引用类型
- 在布尔表达式中使用布尔对象
Number
与数字对应的引用类型,几个好用的方法
var num = 10;
console.log(num.toString(2));
console.log(num.toString(8)); // 加入参数转 显示其他进制
console.log(num.toFixed(2)); // 保留几位小数
String
String是字符串的对象包装类型
一些常用的方法如下
- charAt()/charCodeAt()找到第几位字符
- slice()/substr()/substring()截取 字符串,注意差别
- indexOf()/lastIndexOf()找到位置
- trim()ES5引入的,创建一个字符串副本,删除前后的空格返回
- toUpperCase()/toLowerCase()大小写转换
- 模式匹配本质上是调用了RegExp的exec(),有match()/search()/replace()/split()
- localeCompare()比较两个字符串
- str.fromCodeAt(104,101,108,108,101) //hello传入多个字符编码转换成一个字符串
单体内置对象
Global对象
- enCodeURI()/enCodeURIComponent()  URI编码方法
- eval() 强大到直接执行语句
- window对象
Math对象
- min()/max()
- ceil()/floor()/round() 向上向下标准舍入
- random() 返回介于0和1之间的随机数
- 其他abs/sqrt/...