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