- 函数声明要好于函数表达式在于:系统会优先读取函数声明,并使其在执行任何代码之前可用,至于函数表达式,只有解析器执行到代码所在的代码行时才会被解析执行
Object
- 一般定义object可采用new object声明或对象字面量的方法,一般推荐后者,简化代码量
- 花括号指表达式(返回值)而if后的花括号指语句块
- 使用逗号分隔属性
- 数值属性名会自动转化成字符串
- 方括号表示法更适用于需要访问变量的情况
Array
- 一种是Array声明,一种是数组字面量表示
- 数组的length属性不止可读,而且可增添或删除数组元素
- 检测数组的两种方法,value of instanceof Array和.isArray,推荐后者,因为前者不可在全局作用域检测多个子作用域下的数组
- toLocalString() toString() valueOf()三个方法将数组转换成字符串,当使用字符串方面时,默认使用toString()的方法转换
- join()方法连接字符串
- 栈方法 (后进先出)push()推入和pop()取出
- 队列方法(先进先出)unshift()推入和shift()取出
- 重排序方法:reverse()和sort()和valueOf()
sort()
function compare(value1,value2){
retutn value1 - value2
}
通过数值相减的方法调用sort()进行重排序
alert(values.sort(compare))
- 操作方法:concat()、slice()、splice()
- 位置方法:indexOf()、lastIndexOf()
- 迭代方法:every()some()map()fliter()forEach()
var number = [1,2,3,4,5];
var result = number.map(function(item,index,array){
return item * 2
});
result;
- 缩小方法:reduce()reduceRight()