1、什么是对象
JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;
对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;
JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,如下使用数组对象:
访问对象属性的语法:
objectName.propertyName
访问对象的方法:
objectName.methodName()
2、Date日期对象
日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。
定义一个时间对象
var Udate=new Date();
注意:使用关键字new,Date()的首字母必须大写。
使 Udate 成为日期对象,并且已有初始值:当前时间(当前电脑系统时间)。
自定义初始值:
var d = new Date(2012, 10, 1); //2012年10月1日
var d = new Date('Oct 1, 2012'); //2012年10月1日
我们最好使用下面介绍的“方法”来严格定义时间。
访问方法语法:“<日期对象>.<方法>”
Date对象中处理时间和日期的常用方法:
get/setDate()返回/设置日期
get/setFullYear()返回/设置年份,用四位数表示
get/setYear()返回/设置年份
get/setMonth()返回/设置月份 0:一月 11十二月
get/setDay()返回/设置星期,0周天
get/setHours()返回/设置小时,24小时制
get/setMinutes()返回/设置分钟数
get/setSeconds()返回/设置秒钟数
get/setTime()返回/设置时间(毫秒为单位)
3、返回/设置年份方法
get/setFullYear() 返回/设置年份,用四位数表示。
注意:不同浏览器, mydate.setFullYear(81)结果不同,年份被设定为 0081或81两种情况。
注意:
1.结果格式依次为:星期、月、日、年、时、分、秒、时区。(火狐浏览器)
2. 不同浏览器,时间格式有差异。
4、返回星期方法
getDay() 返回星期,返回的是0-6的数字,0 表示星期天。
5、返回/设置时间方法
get/setTime() 返回/设置时间,单位毫秒数,计算从 1970 年 1 月 1 日零时到日期对象所指的日期的毫秒数。
注意:1. 一小时 60 分,一分 60 秒,一秒 1000 毫秒
2. 时间推迟 1 小时,就是: “x.setTime(x.getTime() + 60 * 60 * 1000);”
6、String字符串对象
访问字符串对象的属性length:
访问字符串对象的方法:
使用 String 对象的 toUpperCase() 方法来将字符串小写字母转换为大写
使用toLowerCase()方法,将字符串所有大写字母都变成小写的字符串
7、返回指定位置的字符
charAt() 方法可返回指定位置的字符。返回的字符是长度为 1 的字符串。
stringObject.charAt(index)
参数说明:
index:必需,表示字符串中某个位置的数字,即字符在字符串中的下标
注意:
1.字符串中第一个字符的下标是 0。最后一个字符的下标为字符串长度减一(string.length-1)。
2.如果参数 index 不在 0 与 string.length-1 之间,该方法将返回一个空字符串。
注意:一个空格也算一个字符。
8、返回指定的字符串首次出现的位置
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
stringObject.indexOf(substring, startpos)
说明:
1.该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring。
2.可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找。
3.如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
注意:
1.indexOf() 方法区分大小写。
2.如果要检索的字符串值没有出现,则该方法返回 -1。
9、字符串分隔split()
split() 方法将字符串分割为字符串数组,并返回此数组。
stringObject.split(separator,limit)
参数说明:
separator:必需。从该参数指定的地方分割stringObject
limit:可选参数,分割的次数,如设置该参数,返回的子串不会多余这个参数指定的数组,如果无此参数为不限制次数。
注意:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
将按照不同的方式来分割字符串:
使用指定符号分割字符串
var mystr = "www.imooc.com";
document.write(mystr.split(".")+"
");
document.write(mystr.split(".", 2)+"
");
将字符串分割为字符
document.write(mystr.split("")+"
");
document.write(mystr.split("", 5));
10、提取字符串substring()
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
stringObject.substring(starPos,stopPos)
参数说明:
startPos:必需,一个非负的整数,开始位置
stopPos:可选,一个非负的整数,结束为止,如果省略该参数,那么返回的子串会一直到字符串对象的结尾
注意:
1. 返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start
2. 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
3. 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
11、提取指定数目的字符substr()
substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。
stringObject.substr(startPos,length)
参数说明:
startPos:必需,要提取的子串的起始位置,必需是数值
length:可选,提取的字符串的长度,如果省略,返回stringObject的开始startPos到stringObject的结尾的字符
注意:
如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
如果startPos为负数且绝对值大于字符串长度,startPos为0。
12、Math对象
Math对象,提供对数据的数学计算。
注意:Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法。这是它与Date,String对象的区别。
Math对象属性
E 返回算数常量e,即自然对数的底数(约等于2.718)
LN2 返回2的自然对数(约等于0.693)
LN10 返回10的自然对数(约等于2.302)
LOG2E 返回以2为底的e的对数(约等于1.442)
LOG10E 返回以10为底的对数(约等于0.434)
PI 返回圆周率(约等于3.14.159)
SORT1_2 返回2的平方根的倒数(约等于0.707)
SORT2 返回2的平方根1.414
Math对象方法
abs(x) 返回数的绝对值
acos(x) 返回数的反余弦值
asin(x) 返回数的反正弦值
atan(x) 返回数字的反正切值
atan2(y,x) 返回由x轴到点(x,y)的角度(以弧度为单位)
ceil(x) 对数进行上舍入
cos(x) 返回数的余弦
exp(x) 返回e的指数
floor(x) 对数进行下舍入
log(x) 返回数的自然对数(底为e)
max(x,y) 返回x和y中的最高值
min(x,y)返回x和y中的最低值
pow(x,y) 返回x的y次幂
random() 返回0~1之间的随机数
round(x) 把数四舍五入为最接近的整数
sin(x)返回数的正弦
sqrt(x)返回数的平方根
tan(x)返回角的正切
toSource(x)返回该对象的源代码
valueOf(x)返回Math对象的原始值
13、向上上取整ceil()
ceil() 方法可对一个数进行向上取整。
Math.ceil(x)
说明:
x必需,必须数值
注意:它返回的是大于或等于x,并且与x最接近的整数。
14、向下取整floor()
floor() 方法可对一个数进行向下取整。
Math.floor(x)
说明:
x必需,任意数值或表达式
注意:返回的是小于或等于x,并且与x最接近的整数。
15、四舍五入round()
round() 方法可把一个数字四舍五入为最接近的整数。
Math.round(x)
说明:
x必需,必须是数字
注意:
1. 返回与 x 最接近的整数。
2. 对于 0.5,该方法将进行上舍入。(5.5 将舍入为 6)
3. 如果 x 与两侧整数同等接近,则结果接近 +∞方向的数字值 。
16、随机数random()
random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。
Math.random();
注意:返回一个大于或等于 0 但小于 1 的符号为正的数字值。
注意:因为是随机数,所以每次运行结果不一样,但是0 ~ 1的数值。
17、Array数组对象
数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的
数组定义的方法:
1. 定义了一个空数组:
var 数组名= new Array();
2. 定义时指定有n个空元素的数组:
var 数组名 =new Array(n);
3.定义数组的时候,直接初始化数据:
var 数组名 = [<元素1>, <元素2>, <元素3>...];
数组元素使用:
数组名[下标] = 值;
注意: 数组的下标用方括号括起来,从0开始。
数组属性:
length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。
数组方法:
concat():连接两个或更多的数组,并返回结果
join():把数组的所有元素放入一个字符串,元素通过指定的分隔符进行分割
pop():删除并返回数组的最后一个元素
push():向数组的末尾添加一个或更多元素,并返回新的长度
reverse()颠倒数组中元素的顺序
shift():删除并返回数组的第一个元素
slice():从某个已有的数组返回选定的元素
sort():对数组的元素进行排序
splice():删除元素,并向数组添加新元素
toSource() :返回该对象的源代码
toString():把数组转换为字符串,并返回结果
toLocateString():把数组转换为本地数组,并返回结果
unshift():向数组的开头添加一个或更多元素,并返回新的长度
valueOf()返回数组对象的原始值
18、数组连接concat()
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组
arrayObject.concat(array1,array2,...,arrayN)
说明:
array1 要连接的第一个数组
arrayN 第N个数组
注意: 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
19、指定分隔符连接数组元素join()
join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
arrayObject.join(分隔符)
说明:
separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符
注意:返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容
20、颠倒数组元素顺序reverse()
reverse() 方法用于颠倒数组中元素的顺序。
arrayObject.reverse()
注意:该方法会改变原来的数组,而不会创建新的数组。
21、选定元素slice()
slice() 方法可从已有的数组中返回选定的元素。
arrayObject.slice(start,end)
说明:
start:必须,规定从何处开始选取,如果是负数,那么它规定从数组尾部开始算起的位置,
end:可选。规定从何处结束选取。该参数是数组片段结束处的数组下标。
1.返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
2. 该方法并不会修改数组,而是返回一个子数组。
注意:
1. 可使用负值从数组的尾部选取元素。
2.如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
3. String.slice() 与 Array.slice() 相似。
22、数组排序sort()
sort()方法使数组中的元素按照一定的顺序排列。
arrayObject.sort(方法函数)
方法函数:可选,规定排序顺序,必须是函数
1.如果不指定<方法函数>,则按unicode码顺序排列。
2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。
myArray.sort(sortMethod);