Object
person["first name"]= "Nicholas";
不能用person.XX访问
Array
创建数组的方法(2种)
转换方法:toString(),valueOf(),toLocaleString()
join(参数):参数用作分割字符串,无或者为undefined时,使用逗号分割。
栈方法 push() pop()
队列方法 shift() 取得第一项
unshift() 数组前端添加项
var color = [];
color.unshift("red","green");
color.unshift("black");
color.toString(); //black,red,green
重排序方法
reverse() 数组方法
sort(function(){
//比较方法函数
})
reverse()和sort()均返回排序之后的数组
arr.concat(参数1,参数2,...); //数组拼接
arr.slice(index1,index2); //允许为负数,用数组长度加上该数来确定相应的位置
splice()
(1)删除:splice(起始位置,要删除的项数);
(2)插入、替换:splice(起始位置,要删除的项数,要插入的项)
位置方法
indexOf() 从前往后找
lastIndexOf() 从后往前走
迭代方法
every():所有项都返回true,则返回true
some():任一项返回true,则返回true
filter():返回该函数会返回 true 的项组成的数组
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
forEach(): 和for方法类似
归并方法
reduce(前一个值,当前值,项的索引,数组对象); //前到后
reduceRight(); //后到前
Date
Date.parse("May 25, 2004") 2004.5.25
字符串不为日期返回NAN
Date.UTC(2005, 4, 5, 17, 55, 55) 2005.5.5 17:55:55
Data.now()
RegExp
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即 停止;
i:表示不区分大小写(case-insensitive)模式
m:表示多行(multiline)模式
//匹配字符串中所有"at"的实例
var pattern1 = /at/g;
//匹配第一个"bat"或"cat",不区分大小写
var pattern2 = /[bc]at/i;
// 匹配所有以"at"结尾的 3 个字符的组合,不区分大小写
var pattern3 = /.at/gi;
var pattern1 = /\[bc\]at/i;
alert(pattern1.global); //false
alert(pattern1.ignoreCase); //true
alert(pattern1.multiline); //false
alert(pattern1.lastIndex); //0
alert(pattern1.source); //"\[bc\]at"
var text = "this has been a short summer";
var pattern = /(.)hort/g;
if (pattern.test(text)){
alert(RegExp.input); // this has been a short summer
alert(RegExp.leftContext); // this has been a
alert(RegExp.rightContext); // summer
alert(RegExp.lastMatch); // short
alert(RegExp.lastParen); // s
alert(RegExp.multiline); // false
}
//等价于
if (pattern.test(text)){
alert(RegExp.$_); // this has been a short summer
alert(RegExp["$`"]); // this has been a
alert(RegExp["$'"]); // summer
alert(RegExp["$&"]); // short
alert(RegExp["$+"]); // s
alert(RegExp["$*"]); // false
Function
call()与apply():
call(作用域,参数1,参数2,...) 参数直接传给函数
apply(作用域,参数数组) 数组传给函数
基本包装类型
引用类型与基本包装类型的主要区别就是对象的生存期。
Boolean
var falseObject = new Boolean(false);
var falseValue = false;
alert(typeoffalseObject); //object
alert(typeof falseValue); //boolean
alert(falseObject instanceof Boolean); //true
alert(falseValue instanceof Boolean); //false
boolean instanceof Boolean 错误
Number
num.toString(n) n进制表示num
toFixed(n) 指定的小数位返回数值的字符串表示
toExponential(n) e表示法,n指定输出结果中的小数位数
toPrecision(n) n表示数值的所有数字的位数(不包括指数部分)
String
charAt()和 charCodeAt()
字符串使用方括号加数字索引来访问字符串中的特定字符
var stringValue = "hello world";
alert(stringValue[1]); //"e"
trim():创建一个字符串的副本,删除前置及 后缀的所有空格,然后返回结果。
trimLeft()和 trimRight()
toLowerCase()、toLocaleLowerCase()、toUpperCase()和 toLocaleUpperCase()
模式匹配的方法
match()
search() 返回字符串中第一个匹配项的索引
replace()
result = text.replace(/at/g, "ond");
localeCompare():比较两个字符串,返回1,0,-1
fromCharCode() :ASCII码转String
URI | 编码 |
---|---|
encodeURI() | 用于整个URI的编码 |
encodeURIComponent() | 用于URI的某一段编码 |
decodeURI() | 对使用encodeURI()替换的字符进行解码 |
decodeURIComponent() | 对使用encodeURIComponent()替换的字符进行解码 |
eval():强大的Javascript解析器,内部函数只有eval()执行时创建;
使用eval()必须谨慎,尤其是执行用户输入数据的情况下,可能造成代码注入。
Math
属性 | 说明 |
---|---|
Math.E | 常量e的值 |
Math.LN10 | 10的自然对数 |
Math.LN2 | 2的自然对数 |
Math.LOG2E | 以2为底e的对数 |
Math.LOG10E | 以10为底e的对数 |
Math.PI | π的值 |
Math.SQRT1_2 | 1/2的平方根 |
Math.SQRT2 | 2的平方根 |
Math.ceil | 向上舍入 |
Math.floor | 向下舍入 |
Math.round | 四舍五入 |
Math.random() | 返回大于0小于1的一个随机数 |
selectFrom(a,b) | a和b之间的数值(包括a和b) |
Math.abs(num) Math.exp(num) Math.log(num) Math.pow(num,power) Math.sqrt(num) Math.acos(x) Math.asin(x) Math.atan(x) Math.atan2(y,x) Math.cos(x) Math.sin(x) Math.tan(x)