重读js高程笔记二

引用类型的值(对象)是引用类型的一个实例,在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);

常见使用方法

  1. 转换方法,toString()/toLocalString()/ValueOf()
  2. 日期格式化方法,toDateString() toTimeString() toLocalDateString() toLocalTimeString() toUTCString()
  3. 日期时间组件方法,getTime/Date/Year/Month()... setTime/Date/Year/Month()... getset 获取时间,设置时间

regExp

regExp是ES支持正则表达式的一个接口
正则表达式,用得好可以少写很多逻辑代码

Function

  1. 函数声明和函数表达式,解析器在加载数据时候,会对函数声明进行函数声明提升
  2. 作为值得函数,函数可以作为参数传入到另一函数中的使用方法
  3. 内部属性和方法 arguments,this,.length,.prototype apply() call()
  4. 没有重载

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() 大小写转换
  • 模式匹配本质上是调用了RegExpexec(),有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/...

posted @ 2016-01-27 00:06  lifesimple  阅读(420)  评论(0编辑  收藏  举报