概述
- String
- Date
- Math
- Array
- RegExp
- Number
- Object
- Function
- Null
- Boolean
- Error
- cookie
- session
方法
String
- 获取字符串长度Length属性
- 连接字符串:concat(String, String)
- 获取索引值:indexOf(String)
- 根据索引值获取单个字符:charAt(Index)
- 从起始索引fromIndex开始截取长度length的字符串:substr(fromIndex,length)
- 截取 起始索引startIndex 到 结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符:substring(startIndex,endIndex)/slice(startIndex,endIndex)
- 按给定字符串分割,返回分割后的多个字符串组成的字符串数组:split(String)
- 使用选择的分隔符将一个数组合并为一个字符串:join(String)
- 大小写转换:toLowerCase()/toUpperCase()
- replace
- 判断是否包含指定字符串:contains(String)
- 判断是否为空:isEmpty()
- html编码和解码:escapeHTML() unescapeHTML()
replace的用法:
//$符的使用
myString=myString.replace(/(Marvin)/g,"<font color=red>$1</font>");
//函数
function test(str){
return "<font color='red'>"+str+"</font>"
}
myString=myString.replace(/(Marvin)/g,test);
Array
- 添加和删除:shift unshift【从数组开头开始添加或者删除】,pop push【从数组末尾添加或者删除】
- 数组合并,参数添加到原数组中,返回新的数组:concat()
- 排序: sort() 从小到大 reverse() 从大到小
- 数组截取: slice(start,end)
- 数组拼接成字符串:join(separator)
- splice()
Date
date = new Date(2015, 2, 27, 12, 59, 59);
- date.toLocaleString(): 2015年3月27日 12:59:59
- date.toLocaleString(): 2015年3月27日 12:59:00
- date.toLocaleString(): 2015年3月27日 12:00:00
- date.toLocaleString(): 2015年3月27日 12:00:00
- date.toLocaleString(): 2015年3月27日 12:00:00
date = new Date(“month dd,yyyy hh:mm:ss”):date = new Date(‘2014-12-25’)
- getFullYear()
- getYear()
- getMonth()
- getDate(): 获取几号 - 0 - 31 比如25
- getDay(): 获取星期几 - 比如星期3的3
- getHours()
- getMinutes()
- getSeconds()
- getMilliseconds()
- getTime(): 获取相对于1970-01-01的毫秒值
Function
- Arguments
- Length
- Caller属性 获取调用当前函数的函数。caller属性只有当函数正在执行时才被定义
- Callee属性 返回正被执行的 Function 对象,即指定的 Function 对象的正文
- constructor 属性 就是用来构造对象实例的函数引用。
- Prototype属性获取对象的原型。每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。这意味着,我们可以把那些不变的属性和方法,直接定义在prototype对象上。
- Apply方法 调用函数,并用指定对象替换函数的this值,同时用指定数组替换函数的参数。
- Call方法 调用一个对象的方法,用另一个对象替换当前对象。
- Bind方法 对于给定函数,创建具有与原始函数相同的主体的绑定函数。
- toString 返回对象的字符串表示形式。
call::借用,伪数组
//call的用法:借用()
var myclass={getAllPersonNumbers:function(age){return age}};
var student={
getDetail:function(){
return {name:'Marvin',age:20}
}
};
myclass.getAllPersonNumbers.call(student)
//call的用法:借用(传参)
var myclass={getAllPersonNumbers:function(){return 33}};
var student={
getDetail:function(){
return {name:'Marvin',age:20}
}
};
myclass.getAllPersonNumbers.call(student,20)
//call 的用法伪数组(将伪数组改为真 的数组)
var json = {1:'',2:'',length:2}
- call方法会修改this的指针,在call后改变被借用的函数的this指针指向自身。
//call将指向全局的this的指针指向了自身student
myclass.getAllPersonNumbers.call(student,20)
- 伪数组:获取到的dom就是一个伪数组,jquery获取到的也是一个伪数组
var ss = {0: 'Marvin', 1: 'lili'}
Array.prototype.slice.call(ss)//能将具有length属性的对象转成数组
=> [Marvin , lili]
apply::
//循环式获取最大值
function getMax(arr){
var arrLen=arr.length;
for(var i=0,ret=arr[0];i<arrLen;i++){
ret=Math.max(ret,arr[i]);
}
return ret;
}
//max()只能传递离散的数值
//获取数组中的最大值
myclass.getAllStudentsNumbers.apply(student,[10,200])
return Math.max.call(null,1,2,3,4,5) === return Math.max.apply(null,arr);
//合并数组
Array.prototype.push.apply(arr1,arr2)