慕課網(wǎng)JavaScript進(jìn)階篇第7章學(xué)習(xí)筆記,JavaScript內(nèi)置對(duì)象:Date對(duì)象,String字符串對(duì)象,Math對(duì)象,數(shù)組對(duì)象
JavaScript進(jìn)階篇(第7章)-慕課網(wǎng)
JavaScript學(xué)習(xí)筆記(一)
JavaScript學(xué)習(xí)筆記(二)
JavaScript學(xué)習(xí)筆記(四)
JavaScript學(xué)習(xí)筆記(五)
對(duì)象
JavaScript 中的所有事物都是對(duì)象,如:字符串、數(shù)值、數(shù)組、函數(shù)等,每個(gè)對(duì)象帶有屬性和方法
對(duì)象的屬性:反映該對(duì)象某些特定的性質(zhì)的,如:字符串的長(zhǎng)度、圖像的長(zhǎng)寬等
對(duì)象的方法:能夠在對(duì)象上執(zhí)行的動(dòng)作。例如,表單的“提交”(Submit),時(shí)間的“獲取”(getYear)等
訪問(wèn)對(duì)象屬性語(yǔ)法:
var myarray=new Array(5);//定義數(shù)組對(duì)象var
myl=myarray.length;//訪問(wèn)數(shù)組長(zhǎng)度length屬性
訪問(wèn)對(duì)象方法語(yǔ)法:
var mystr="hello world!";//創(chuàng)建一個(gè)字符串var
request=mystr.toUpperCase(); //使用字符串對(duì)象方法
//輸出 HELLO WORLD!
Date 日期對(duì)象
定義一個(gè)時(shí)間對(duì)象:
var nowdate = new Date(); //nowdate成為日期對(duì)象,并且有初始值:當(dāng)前時(shí)間(當(dāng)前電腦系統(tǒng)時(shí)間)
如果要自定義初始值,可用以下方法:
var d = new Date(2016, 7, 15); //2016年7月15日var d =
new Date('June 15, 2016'); //2016年7月15日
Date對(duì)象中處理時(shí)間和日期常用方法:
| 方法名稱(chēng) | 功能描述 |
|---|---|
| get/setDate() | 返回/設(shè)置日期 |
| get/setFullYear() | 返回/設(shè)置年份,用四位數(shù)表示 |
| get/setYear() | 返回/設(shè)置年份 |
| get/setMonth() | 返回/設(shè)置月份。0:一月...11:十二月,所以加1 |
| get/setHours() | 返回/設(shè)置小時(shí),24小時(shí)制 |
| get/setMinutes() | 返回/設(shè)置分鐘 |
| get/setSeconds() | 返回/設(shè)置秒 |
| get/setTime() | 返回/設(shè)置時(shí)間(毫秒為單位) |
返回/設(shè)置年份方法
get/setFullYear()返回/設(shè)置年份,用四位數(shù)表示
var mydate=new Date();//當(dāng)前時(shí)間2014年3月6日
document.write(mydate+"<br>");//輸出當(dāng)前時(shí)間
document.write(mydate.getFullYear()+"<br>");//輸出當(dāng)前年份
mydate.setFullYear(81); //設(shè)置年份
document.write(mydate+"<br>"); //輸出年份被設(shè)定為 0081/81年。
輸出:
Thu Mar 06 2014 10:57:47 GMT+0800
2014
Thu Mar 06 0081 10:57:47 GMT+0800
結(jié)果格式依次為:星期、月、日、年、時(shí)、分、秒、時(shí)區(qū)
返回星期方法
getDay()返回星期,返回的是0-6的數(shù)字,0表示星期天。
<script type="text/javascript">
var mydate=new Date();
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(mydate.getDay()+"<br />");
document.write("今天是:" +weekday[mydate.getDay()] );
</script>
通過(guò)mydate.getDay()返回代表星期X的數(shù)字
返回/設(shè)置時(shí)間方法
get/setTime(),單位毫秒,計(jì)算從1970年1月1日零時(shí)到日期對(duì)象所指的日期的毫秒數(shù)
時(shí)間推遲一小時(shí):
var mydate = new Date();
mydate.setTime(mydate.getTime() + 60*60*1000);
String 字符串對(duì)象
訪問(wèn)字符串對(duì)象的屬性length:
var mystr = "Hello World";
var myl = mystr.length;
訪問(wèn)字符串對(duì)象的方法:
var mystr = "hello world!";
var mynum = mystr.toUpperCase();
返回指定位置的字符
語(yǔ)法:stringObject.charAt(index)
index表示字符串中的下標(biāo),如果index不在0和string.length-1之間,將返回一個(gè)空字符串
返回指定的字符首次出現(xiàn)的位置
語(yǔ)法:string.Object.indexOf(substring, startpos)
- indexOf區(qū)分大小寫(xiě);
- startpos可選參數(shù),沒(méi)有此參數(shù)將從首字符開(kāi)始查找;
- 沒(méi)有檢索的字符串值,返回 -1
字符串分割split()
split()將字符串分割為字符串?dāng)?shù)組,并返回此數(shù)組
語(yǔ)法:stringObject.split(separator, limit)
- separator,必選參數(shù),從其指定地方分割字符串。如果separator為空字符串(""),字符串每個(gè)字符之間都會(huì)被分割
- limit, 可選,分割的次數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)制定的數(shù)組
示例:
var mystr = "www.imooc.com";
document.write(mystr.split(".")+"<br>");
document.write(mystr.split(".", 2)+"<br>");
運(yùn)行結(jié)果:
www,imooc,com
www,imooc//子串?dāng)?shù)不超過(guò) 2
提取字符串substring()
用于提取字符串中介于兩個(gè)制定下標(biāo)之間的字符
語(yǔ)法:stringObject.substring(starPos, stopPos)
startPos, 必需,非負(fù)整數(shù),開(kāi)始位置;
stopPos,可選
- 返回的內(nèi)容是從 start開(kāi)始(包含start位置的字符)到 stop-1 處的所有字符,其長(zhǎng)度為 stop 減start【含頭不含尾】
- 如果參數(shù) start 與 stop 相等,那么該方法返回的就是一個(gè)空串(即長(zhǎng)度為 0 的字符串)。
- 如果 start 比 stop 大,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(shù)。
提取指定書(shū)目的字符sbustr()
語(yǔ)法:stringObject.substr(startPos, length)
startPos,必須是數(shù)值;
- 如果startPos是負(fù)數(shù),從字符串的尾部開(kāi)始算起始位置。也就是說(shuō),-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類(lèi)推。如果startPos為負(fù)數(shù)且絕對(duì)值大于字符串長(zhǎng)度,startPos為0。
length, 可選
Math 對(duì)象
Math對(duì)象方法:
| 方法 | 描述 |
|---|---|
| abs(x) | 絕對(duì)值 |
| ceil(x) | 上舍入 |
| floor(x) | 下舍入 |
| pow(x, y) | 返回 x 的 y 次冪 |
| random() | 返回0~1之間的隨機(jī)數(shù) |
| round(x) | 四舍五入為最接近的整數(shù) |
| toSource() | 返回該對(duì)象的源代碼 |
| valueOf() | 返回Math對(duì)象的原始值 |
Array 數(shù)組對(duì)象
數(shù)組方法:
| 方法 | 描述 |
|---|---|
| contact() | 連接兩個(gè)或更多的數(shù)組,并返回結(jié)果(不改變?cè)瓉?lái)的數(shù)組) |
| join() |
array.Object.join(分隔符)把數(shù)組的所有元素放入一個(gè)字符串,元素通過(guò)指定的分隔符進(jìn)行分隔 |
| pop() | 刪除并返回?cái)?shù)組的最后一個(gè)元素 |
| shift() | 刪除并返回?cái)?shù)組的第一個(gè)元素 |
| push() | 向數(shù)組的末尾增加元素,并返回新的長(zhǎng)度 |
| unshift() | 向數(shù)組開(kāi)頭添加元素,并返回新長(zhǎng)度 |
| reverse() | 顛倒數(shù)組中元素的順序(不創(chuàng)建新數(shù)組,會(huì)改變?cè)瓉?lái)的數(shù)組) |
| slice() | 從某個(gè)已有的數(shù)組返回選定的元素 |
| sort() | 對(duì)數(shù)組元素進(jìn)行排序 |
| splice() | 刪除元素,并向數(shù)組添加新元素 |
| toSource() | 返回該對(duì)象的源代碼 |
| toString() | 把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果 |
| valueOf() | 返回?cái)?shù)組對(duì)象的原始值 |
數(shù)組排序 sort()
語(yǔ)法: arrayObject.sort(方法函數(shù))
var myarr = new Array("Hello","John","love","JavaScript");
document.write(myarr.sort()+"<br>");
//輸出 Hello,JavaScript,John,love
//其實(shí)就是按照首字母ABCDEFG...排序的,首字母相同就看第二個(gè)。同理,數(shù)字也是
升序排列:
function sortNum(a,b) {
return a - b;
//升序,如降序,把“a - b”該成“b - a”
}
document.write(myarr.sort(sortNum));