Fork me on GitHub

Javascript学习笔记第三卷

正在学习前端的道路上,写点东西分享吧。

关于对象的的一卷

ps:找不到对象23333。

javascript里面的所有事物都是对象,例如字符串、数值、数组、函数等,每个对象都带有属性和方法。
属性:反映的是对象某些特定的性质的,例如:字符串的长度,图像的长宽等:
方法:能够在对象上执行的动作。例如,表单的”提交”(submit),时间的”获取”(getYear)等;

比如创建一个数组对象:

1
2
3
var emm=new Array();
例如 emm.length;访问的就是数组的长度。
emm.propertyName;//该语句可以用来访问对象的属性。

访问对象的方法:

1
2
3
4
5
emm.methodName();//访问对象的方法。
例如string的对象可以toUpperCase()方法可以将文本转换成大写:
var emm="chenlao";
var emm1=emm.toUpperCase();
那么emm1的值就是:CHENLAO;

日期对象

日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000秒)。

定义一个时间对象的方法

1
2
3
4
5
6
7
8
9
10
11
12
var emm=new Date();
//!notice:使用关键字new的话,后面的对象的首字母必须要大写。
访问方法语法:"<日期对象>.<方法>"
Date对象中处理时间和诶器的常用方法:
get/setDate() 返回/设置日期
get/setFullYear() 返回/设置年份,用四位数表示
get/setYear() 返回/设置年份
get/setMouth() 返回/设置月份。
get/setHours() 返回/设置小时,24小时置。
get/setMinutes() 返回/设置分钟数。
get/setSeconds() 返回/设置秒钟数
get/setTime() 返回/设置时间(毫秒为单位)

将时间往后面拖一个小时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>设置日期对象</title>
<script type="text/javascript">
var emm=new Date();
document.write("当前时间: "+emm+"<br>");
document.write("年:"+emm.getYear()+"<br>");
document.write("月: "+emm.getMonth()+"<br>");
document.write("日: "+emm.getDay()+"<br>");
document.write("分: "+emm.getMinutes()+"<br>");
//对时间进行设置。比如推迟一个小时。
emm.setTime(emm.getTime()+2*60*60*1000);
document.write("推迟2个小时之后的时间: "+emm);
</script>
</head>
<body>
</body>
</html>

String字符串对象

1
2
3
4
5
6
<script="text/javascript">
var emm1="chenlao";
var emm2=emm1.toUpperCase();//小写变大写。
var emm3=emm2.toLowerCase();//大写变小写。
document.write(emm2);
</script>

返回指定位置的字符

charAt()方法可以返回指定位置的字符。返回的字符时长度为1的字符串。
语法:stringObject.charAt(index);
参数说明:
index的值是个参数,表示我们要的字符的位置。如果index不在0和string.length-1之间的话,该方法返回的是一个空字符串。

1
2
3
4
<script type="text/javascript">
var mystr="c henlaotaiqiangla!";
document.write(mystr.charAt(2));//注意这里的空格也是算一个字符的
</script>

indexOf()方法可以返回某个指定的字符串值在字符串中首次出现的位置。
string.indexOf(substring,startpos);
这里的substring指的是需要检索的字符串值,startpos表示检索的位置,这个参数是可以省略的。

字符串分割split()

split()可以将字符串分割成字符串数组,并返回此数组。
这个函数有2个参数,前面一个表示从该参数的指定的位置开始分割字符串。后面是个可选的参数,表示返回的子串不会大于这个参数指定的数组。//如果第一个是个””那么这个字符串每个字符都会被分割。

1
2
var emm="%chenlao";
document.write("o",4);//那么o之前的字符会全部分割出来,可以结果网页看输出效果,但输出的字符不超过4个。

提取字符串substring()

1
2
var emm="%changlao";
document.write(emm.substring(0,emm.length));//2个参数,一个代表字符串的首位置,一个是结束位置,可以没有结束位置。那么就会一直到字符串的末尾才能结束。

提取指定数目的字符(substr())

其实和上一个函数差不过。QAQ

1
2
var emm="%chenlao";
document.write(emm.substr(7,2));意思就是说从第7个字符开始提取字符,一共会提取2个字符。

Math对象

1
2
3
4
5
<script="text/javascript">
var emm1=Math.PI;
var emm2=Math.abs(-15);
document.write(emm1+" "+emm2);
</script>

其实和那个c++里面的那些库函数都差不不多,只不过是引用的方法不同而已。这个地方想学自己去百度吧。就仅仅提供2个类函数做参考。

1
2
<input type=button value="刷新" onclick="window.location.reload()">//可以做出一个类似于刷新的按钮。
</br>

数组的一些函数。

emm太多啦,不一一介绍了,有兴趣的自己去学吧QAQ。

算了还是介绍一点

1
2
3
4
5
6
7
8
9
10
数组排序函数
emm.sort(cmp);//这里的sort排序要自己写个排序规则,c++里面的cmp函数。
<script type="text/javascript">
function cmp(a,b)
{
return a-b;//这个是按照升序排序,如果要按照降序排序,是可以把"a-b"改成"b-a".
}
var emm1=new Array("80","160","99","4545");//对数组实行升序排序,要自己手写一个函数。
document.write(emm1.sort(cmp));//这样就会将这个数组按照升序输出。
</script>

一个编程练习。
综合利用对象的各种函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var currentDate = new Date();
var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
document.write(
currentDate.getFullYear() + "年" +
(currentDate.getMonth() + 1) + "月" +
currentDate.getDate() + "日" + " " +
weekday[currentDate.getDay()]
);
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var sorceStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sourceArr = sorceStr.split(";");
//document.write(sourceArr);//test
//从数组中将成绩撮出来,然后求和取整,并输出。
var score = new Array();
var sum = 0;
for (var i = 0; i < sourceArr.length; i ++) {
sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));
//document.write("<br>" + sum);//test
}
document.write("--班级总分为:" + sum);
document.write(",班级平均分为(保留整数):" + Math.round(sum/sourceArr.length))
</script>
</head>
<body>
</body>
</html>

总结

The important thing in life is to have a great aim,and the determination to attain it. –Johan Goethe

-------------本文结束感谢您的阅读-------------