JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;
对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;
1、Date 日期对象
日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。
定义一个时间对象 : var Udate=new Date();
var d = new Date(2012, 10, 1); //2012年10月1日
var d = new Date('Oct 1, 2012'); //2012年10月1日
1.1、getFullYear setFullYear
练习:获取年份:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得年份 </title>
<script type="text/javascript">
var mydate=new Date();
document.write(mydate+"<br>");
document.write(mydate.getFullYear()+"<br>");//输出当前年份
var myyear=mydate.getFullYear(); //注意 mydate.
document.write("年份:"+myyear);
</script>
</head>
<body>
</body>
</html>
结果
、
1.2、返回星期 getDay setDay
借用getDay 和数组
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得星期</title>
<script type="text/javascript">
var mydate=new Date();
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
var mynum = mydate.getDay();
document.write("今天是:" + weekday[mynum]);
</script>
</head>
<body>
</body>
</html>
结果:
1.3、返回/设置时间 getTime setTime
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>日期对象 </title>
<script type="text/javascript">
var mydate=new Date();
document.write("当前时间:"+mydate+"<br>");
mydate.setTime( mydate.getTime() + 2* 60 * 60 * 1000);
document.write("推迟二小时时间:" + mydate);
</script>
</head>
<body>
</body>
</html>
结果:
2、字符串对象
方法:
- str.length ——求长度
- str.toUpperCase ——小写字母转大写
- str.toLowerCase —— 所有大写字母转小写
- str.charAt(index) ——返回字符串指定位置,如index=2则返回第二个字符(必须有这个长度,index数字是0到 len-1,否则返回空字符)
- str.indexOf(检索的字符串,开始检索的位置) ——字符串查找,从具体位置开始查找
- 检索的字符串:必须的参数
- 开始检索的位置:可选的参数。如果要检索的字符串值没有出现,则该方法返回 -1。
- str.split(分隔符,分割次数) ——字符串分割
- 分隔符是必须的
- 分割次数是可选参数
- str.substring(start , stop) ——提取字符串
- start :开始的位置
- stop: 结束的位置
- 之间的字符串返回
- str.substr(start, len) ——提取指定数目的字符
- start :开始的位置,从哪里开始提取(如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。)
- len: 提取多少个
练习:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string对象 </title>
<script type="text/javascript">
var message="I love JavaScript!";
// toLowerCase 大写转小写
var mychar= message.toLowerCase();
document.write("字符串为:"+mychar+"<br>");
// charAt 输出指定位置的字符,例如最后一个字符
document.write( mychar.charAt(mychar.length-1) +"<br>");
// indexOf 返回指定的字符串首次出现的位置
document.write( mychar.indexOf("j")+"<br>");
// split 字符串分割 (例如使用s分割)
var mychar2="jsgskks;sisppppswwwwwsjl;q"
document.write( mychar2.split("s")+"<br>");
// substring 字符串提取
document.write( mychar2.substring(2,5)+"<br>");
document.write( mychar2.substring(2)+"<br>");
// substr 固定长度字符提取
document.write("substr:"+ mychar.substr(0,5)+"<br>");
</script>
</head>
<body>
</body>
</html>
结果:
3、Math对象
Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法。这是它与Date,String对象的区别。
对象属性:
对象方法:
4、数组对象
数组方法:
4.1、arr.concat(arr1,arr2, ... , arrN)
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
4.2、arr.join(分隔符)
返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容。 我们使用join()方法,将数组的所有元素放入一个字符串中,
4.3、arr.slice(start,end)
1.返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
2. 该方法并不会修改数组,而是返回一个子数组。
注意:
1. 可使用负值从数组的尾部选取元素。
2.如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
3. String.slice() 与 Array.slice() 相似。
4.4、arr.sort(方法函数) ——数组排序
1.如果不指定<方法函数>,则按unicode码顺序排列。
2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。
注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
练习
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
var myarr1= new Array("010")
var myarr2= new Array("-","84697581");
var myarr3= new Array("3333333333");
// concat 多个数组连接
var myarr4 = myarr1.concat(myarr2,myarr3);
document.write(myarr4);
document.write("<hr>");
// join 指定分隔符连接 一个数组 中的所有元素
var myarr = new Array(3)
myarr[0] = "I";
myarr[1] = "love";
myarr[2] = "JavaScript";
document.write(myarr.join("****"));
document.write("<hr>");
// reverse 颠倒数组的元素顺序(该方法会改变原来的数组,而不会创建新的数组。)
var myarr11= ["我","爱","你","zhong","guo"];
document.write("数组:"+myarr11 + "<br />")
document.write("翻转:"+myarr11.reverse())
document.write("<hr>");
// slice 选定元素,从哪里开始的几个元素
document.write("前两个:"+myarr11.slice(0,2))
document.write("<hr>");
// sort()方法使数组中的元素按照一定的顺序排列(arrayObject.sort(方法函数))
var myarr111 = new Array("Hello","John","love","JavaScript");
var myarr222 = new Array("80","16","50","6","100","1");
document.write(myarr111.sort()+"<br>");
document.write(myarr222.sort());
// 实现排序:升序
document.write("<br>"+"<br>"+"升序示例:"+"<br>");
function sortNum(a,b) {
return a - b;
}
var myarr1111 = new Array("80","16","50","6","100","1");
document.write("原 来 的 数 组:"+myarr1111 + "<br>");
document.write("升序之后的数组:"+myarr1111.sort(sortNum));
</script>
</head>
<body>
</body>
</html>
结果:
学习网址:js进阶:https://www.imooc.com/learn/10