对象
JavaScript中所有事物都是对象,带有属性和方法
属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;
方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;
Date日期对象
定义时间对象
var time = new Date();//使用new关键字定义
time
成为日期对象,并已有初始值,为当前电脑系统时间
1.结果格式依次为:星期、月、日、年、时、分、秒、时区。(火狐浏览器)
2. 不同浏览器,时间格式有差异
若要自定义初始值,有:
var time = new Date(2018,8,18);
var time = new Date('Agu 17,2018');
方法名称 | 功能描述 |
---|---|
get/setDate() | 返回/设置日期 |
get/setFullYear() | 返回/设置年份(四位数表示) |
get/setYear() | 返回/设置年份 |
get/setMonth() | 返回/设置月份(0:1月……11:12月) |
get/setHours() | 返回/设置小时(24小时制) |
get/setMinutes() | 返回/设置分钟数 |
get/setSeconds() | 返回/设置秒钟数 |
get/setTime() | 返回/设置时间(ms为单位) |
注意:不同浏览器, time.setFullYear(81)
结果不同,年份被设定为 0081或81两种情况。
加一个小时
time.setTime(time.getTime() + 60 * 60 * 1000);
// 一小时 60 分,一分 60 秒,一秒 1000 毫秒
字符转换
将字符串的小写字符转换成大写toUpperCase()
将字符串的大写字符转换成小写low
var string="Hello world!";
var daxie=string.toUpperCase();
返回指定位置的字符。
返回的字符是长度为 1 的字符串。
stringObject.charAt(index);
//index:必需,表示字符串中某个位置的数字,即字符在字符串中的下标,从0开始
exam:
var ttt = "hellow world";
document.write(ttt.charAt(5));//输出为第六个字符w
注意:1.字符串中第一个字符的下标是 0。最后一个字符的下标为字符串长度减一(string.length-1)。
2.如果参数 index 不在 0 与 string.length-1 之间,该方法将返回一个空字符串。
3.一个空格也算一个字符。
返回指定的字符串首次出现的位置
stringObject.indexOf(substring, startpos)
//substring:必需,规定需检索的字符串值。
//startpos:字符串开始检索的位置,若省略,从首字母开始检索
说明:
1.该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring。
2.可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找。
3.如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
注意:
1.indexOf() 方法区分大小写。
2.如果要检索的字符串值没有出现,则该方法返回 -1。
字符串分割
stringObject.split(separator,limit)
//separator:必需,从该参数指定地方分割字符串
//limit:非负,分割次数,若不设置则不限次数
注意:如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
提取字符串substring()
stringObject.substring(startPos,stopPos)
//startPos:必需,开始位置
//stopPos:非负,停止位置,若省略则会到结尾
注意:
1. 返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。
2. 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
3. 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
提取指定数目的字符substr()
stringObject.substr(startPos,length);
//startPos:必需,提取字符的起始位置
//length:提取长度,若省略,则从startPos到结尾
注意:如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
如果startPos为负数且绝对值大于字符串长度,startPos为0。
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为底的e的对数(0.434) |
PI | 返回2圆周率(3.14159) |
SQRT1_2 | 返回2的平方根的倒数(0.707) |
SQRT2 | 返回2的平方根(1.414) |
math的对象方法:
属性 | 说明 |
---|---|
abx(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() | 返回该对象的源代码 |
valueOf() | 返回Math对象的原始值 |
Array数组对象
数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的。
数组元素使用:数组名[下标] = 值;
<数组对象>.length;
返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。
方法 | 说明 |
---|---|
concat() | 连接两个或更多的数组,并返回结果 |
join() | 把数组的所有元素放入一个字符串,元素通过指定分隔符进行分隔 |
pop() | 删除并返回数组的最后一个元素 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度 |
reverse() | 颠倒数组中元素的顺序 |
shift() | 删除并返回数组的第一个元素 |
slice() | 从某个已有的数组返回选定的元素 |
sort() | 对数组的元素进行排序 |
splice() | 删除元素,并向数组添加新元素 |
toSourse() | 返回该对象的源代码 |
toString() | 把数组转换为字符串,并返回结果 |
toLocaleString() | 把数组转换为本地数组,并返回结果 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度 |
valueOf() | 返回数组对象的原始值 |
练习代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>对象</title>
</head>
<body>
<script type="text/javascript">
var str = "hellow world";
var request = str.toUpperCase();//大写
document.write(request+"<br>");
document.write(str.toLowerCase()+"<br>");//小写
document.write(str.charAt(5));//返回第六个字符w
document.write(str.indexOf("h"));//返回字符首次出现位置
document.write(str.indexOf("o",6));//从第七个字符开始检索,第二个o的位置
var mystr="86-010-85468578";
document.write(mystr.split("-") + "<br />");
document.write(mystr.split("") + "<br />");
document.write(mystr.split("",3) + "<br />" );
document.write(mystr.substring(3,7)+"<br>");//提取字符串,第四个到第八个
document.write(mystr.substr(3,7)+"<br>");//提取字符串,第四个后取七个
document.write(Math.abs(-4)+"<br>");//运算,绝对值
document.write(Math.ceil(2.6)+"<br>");//向上取整
document.write(Math.floor(-5.6)+"<br>");//向下取整
document.write(Math.round(5.6)+"<br>");//四舍五入
document.write(Math.random()+"<br>");//0到1之间的随机数
var shuzu = new Array(3);
shuzu[0]="1";
shuzu[1]="2";
shuzu[2]="3";
document.write(shuzu.concat(4,5)+"<br>");
document.write(shuzu+"<br>");
document.write(shuzu.join("."));//指定分隔符连接数组元素
document.write(shuzu.reverse()+"<br>");
var shuzu1 = ["我","爱","你"];
document.write(shuzu1.slice(1,3)+"<br>");
var shuzu2 = new Array(2,5,6,8,45,21,3,1,0);
function paixu(a,b) {
return a-b;
}
document.write(shuzu2.sort(paixu)+"<br>");
var udate = new Date();//用new关键字定义,udate成为时间对象,获取当前电脑系统时间
document.write("当前时间:"+udate+"<br>");
udate.setTime(udate.getTime()+60*60*1000);
document.write("推迟一个小时:"+udate+"<br>");
var d1 = new Date(2015,8,17);//自定义初始值
var d1 = new Date('Aug 17,2015');
udate.setFullYear(81);//设置年份
document.write(udate+"<br>");
document.write(d1.getFullYear()+"<br>");//输出年份
document.write(udate.getDay()+"<br>");//获得星期
</script>
<p>打印成绩</p>
<script type="text/javascript">
var time = new Date();
var year =time.getFullYear();
var month = time.getMonth();
var date = time.getDate();
var xingqi = time.getDay();
month = month+1;
document.write(year+"年"+month+"月"+date+"日"+"星期"+xingqi+"<br>");
var ttt = [["小明",87],["小花",81],["小红",97],["小天",76],["小张",74],
["小小",97],["小西",90],["小五",96],["小迪",64],["小曼",76]];
var zonghe =0;
for(i=0;i<10;i++)
{
zonghe = zonghe + ttt[i][1];
}
document.write("班级平均分为:"+zonghe/10);
</script>
</body>
</html>