javascript(時間、數(shù)組、字符串方法)


title: javascript(時間、數(shù)組、字符串方法)
date: 2017-06-01 10:25:43
tags: javascript筆記


日期對象

常用方法

new Date() 獲取當前時間

以下獲取的都是數(shù)值類型,get是獲取時間,將get改為set后面的不變就是設(shè)置時間。

getFullYear() 獲取年

getMonth() 獲取月份,從0開始算

getDate() 獲取天

getDay() 獲取星期幾,0是周日

getHours() 獲取小時

getMinutes() 獲取分鐘

getSeconds() 獲取秒

getMilliseconds() 獲取毫秒

getTime() 時間戳,返回從1970年1月1日0點0分0秒0毫秒開始計算的毫秒時間。

getTimezoneOffset() 獲取本地時間與格林威治標準時間的分鐘差。

parse() 返回從1970年1月1日到指定日期(字符串)的毫秒數(shù)。

UTC() 根據(jù)世界時間返回從1970年1月1日到指定日期(字符串)的毫秒數(shù)。

以上獲取時間的方法在get后加上UTC就是根據(jù)世界時間獲取,例如getUTCHours()就是根據(jù)世界時間返回小時數(shù)。

獲取一個時間點

設(shè)定一個時間點new Date(2017,4,22,22,48,20); 得出的是毫秒。

也可以通過new Date('November 10,2013 22:3:0');來獲取。主要是用來計算倒計時用到。

秒的轉(zhuǎn)換

秒轉(zhuǎn)為天:Math.floor(秒 / 86400)

秒轉(zhuǎn)為小時:Math.floor(秒 % 86400 / 3600)

秒轉(zhuǎn)為分鐘:Math.floor(秒 % 86400 % 3600 / 60)

秒轉(zhuǎn)為秒:秒 % 60

英文的月份

一月 January、二月 February、三月 March、四月 April、五月 May、六月 June、七月 July、八月 August、九月 September、十月 October、十一月 November、十二月 December。

字符串的方法

length

字符串長度,字符串里的空格也占用一個長度

charAt()

返回字符串索引位置的字符,如果不傳參數(shù)默認獲取第一個。

var str = 'abs';
alert(str.charAt(1))   // b
alert(str.charAt())   // a

charCodeAt()

返回字符串索引位置的字符的Unicode值。使用方法同上。

charCodeAt()

使用方式和charAt相同,區(qū)別是返回的是字符的編碼值

String.fromCharCode()

參數(shù)里輸入一個編碼,返回相對應(yīng)的字符,多個編碼用逗號間隔

indexOf()

返回查找字符在字符串中的索引位置,沒找到返回-1。

'str'.indexOf('t') //1返回t在字符串str中的索引位置。

'strstr'.indexOf('t',2) // 4從strstr字符串的索引2的位置r之后開始找t的位置。不能是負數(shù)。

indexOf()每次只能返回查找到的第一個索引位置,如果要查找所有的索引位置需要寫一個循環(huán)

var str = 'aaabaaababaaaaaaaabaaab';
var s = 'b';
var i = 0;
while( str.indexOf(s,i) != -1 ){
    alert( str.indexOf(s,i) );
    i = str.indexOf(s,i) + s.length;
}

這個循環(huán)會打印b在字符串中的所有索引位置

lastIndexOf()

和indexOf()相對應(yīng),indexOf()是從左往右找,lastIndexOf()是從右往左找。第二個參數(shù)索引值也是從右向左查找。

字符串的大小比較

中文字符也是可以進行比較的,比如'山東' > '青島',比較的是第一個字符的編碼值的大小,也就是山的編碼值和青的編碼值的比較,和后面的所有字符沒有關(guān)系。

同樣的道理,'aaaabbbb' > 'c',比較的是a和c的大小,和后面字符沒有關(guān)系。'1000' > '2'比較的也是1和2的編碼值的大小。

substring()

截取類方法,對字符串當中的某些文字進行截取。負數(shù)會直接當0來處理。

傳入一個參數(shù)時,從字符串的參數(shù)數(shù)值的索引位置開始截取后面的所有內(nèi)容。

傳入兩個參數(shù)時,截取字符串參數(shù)一的索引到參數(shù)二的索引之間的字符。另外,如果第二個參數(shù)比第一個參數(shù)小那么會自動調(diào)換兩個參數(shù)的位置。

var str = 'abcdefg';
alert(str.substring(4);  // efg  
alert(str.substring(0,2);  // ab  

slice()

和substring()用法基本一樣。但是傳兩個參數(shù)時不會交換位置。

和substring()方法不同的是:

只傳入一個參數(shù)并且是負數(shù),那么就是從字符串的最后開始截取。

傳入兩個參數(shù),通常第一個是負數(shù)第二個也是負數(shù),截取兩個參數(shù)索引之間的字符

var str = 'abcdefg';
alert(str.slice(-1))  // f
alert(str.slice(-4,-2))  // cd

toUpperCase()

字符串轉(zhuǎn)為大寫,只能針對英文

toLowerCase()

字符串轉(zhuǎn)為小寫,只能針對英文

split()

將字符串分割為數(shù)組。參數(shù)是按照什么字符分割,如果不傳參數(shù)默認會將整個字符串當做一個數(shù)組的一個元素。

var str = 'www.baidu.com';
alert(str.split('.'))  // ['www','baidu','com'];

var str1 = 'abc';
alert(str1.split(''))   // ['a','b','c'];

第二個參數(shù)是限制截取多少段。

var str = '2017-05-27-19-47';
alert(str.split('-',3));   // ['2017','05','27']

replace()

替換字符串,第一個參數(shù)是要查找的字符串,也可以通過正則表達式查找。第二個參數(shù)是要替換的內(nèi)容。

var str = 'abcdefg';
console.log(str.replace('abc','ccc'))    // 打印cccdefg
console.log(str.replace(/^a/,'ccc'))     // 打印cccbcdefg

數(shù)組的方法

push()

在數(shù)組最后一位添加一個元素,返回值是增加后的數(shù)組的長度。

unshift()

在數(shù)組第一位插入一個元素,返回值是增加后的數(shù)組的長度。ie6、ie7不支持這個方法的返回值。

pop()

從數(shù)組的最后刪除一個元素,返回值是刪除的那個元素。

shift()

從數(shù)組的開頭刪除一個元素,返回值是刪除的那個元素。

splice()

splice方法可以刪除、替換、添加

刪除時候可以傳兩個參數(shù),第一個是開始刪除的索引,第二個是刪除的長度。返回值是刪除的元素。

替換的話將要替換的內(nèi)容寫在第二個參數(shù)之后。返回值僅是被刪除的內(nèi)容。

添加的時候第一個參數(shù)是要添加的后面那個元素的索引,第二個參數(shù)是0,代表不替換,要添加的元素寫在第二個參數(shù)之后。沒有返回值

var arr = ['a,'b','c','d','e'];
arr.splice(0,2)   // arr = ['c','d','e']
arr.splice(0,2,'z','x')   // arr = ['z','x','c','d','e']
arr.splice(1,0,'x')   // arr = ['a','x','b','c','d','e']

slice()

返回從原數(shù)組中指定開始下標到結(jié)束下標之間的元素組成的新數(shù)組。只傳一個參數(shù)那就是獲取到最后,不會改變原數(shù)組

var arr = [1,2,3,4,5,6];
console.log(arr.slice(2))      // 打印[3,4,5,6]
console.log(arr.slice(2,4))      // 打印[3,4]

sort()

對數(shù)組進行排序,默認全部按照字符串的規(guī)則進行排序,會將數(shù)字轉(zhuǎn)為字符串,然后按照字符串的比較方式,由小到大排序。

var arr = [4,3,2,30];
arr.sort();  // arr = [2,3,30,4]

要按照數(shù)值類型來排序的話需要在sort內(nèi)部寫一個函數(shù)

arr = [4,3,2,30];
arr.sort(function(a,b){
    return a - b
})

這里用a-b代表從小到大排序,意思是第一個數(shù)減第二個數(shù)。

也可以b-a是從大到小排序。是第二個數(shù)減第一個數(shù)。

只要return 為true,那么就會換位置。

join()

將數(shù)組轉(zhuǎn)為字符串,用傳入的參數(shù)去分割數(shù)組每個元素,組成一個字符串,如果不傳參數(shù)默認用逗號分割。

concat()

將多個數(shù)組拼接起來,參數(shù)可以傳過個,傳幾個就連接幾個,會拼成一個新的數(shù)組,不會改變原來的數(shù)組。

var arr1 = [1,2,3];
var arr2 = [4,5,6];
alert(arr1.concat(arr2));  // [1,2,3,4,5,6]    

reverse()

顛倒數(shù)組內(nèi)部元素的位置。對字符串也可以進行操作,只是從頭到尾顛倒位置。不會進行比較。

var arr = [1,2,3,4];
arr.reverse();    // arr = [4,3,2,1]

toString()

把數(shù)組轉(zhuǎn)換為字符串,字符串包含逗號。

Math系列方法

Math.round()

對參數(shù)進行四舍五入操作。

Math.abs()

返回參數(shù)的絕對值。

Math.ceil()

對參數(shù)進行向上取整

Math.floor()

對參數(shù)進行向下取整

Math.max()

傳兩個參數(shù),返回兩數(shù)中的最高值

Math.min()

傳兩個參數(shù),返回兩數(shù)中的最低值

Math.pow()

傳遞兩個參數(shù),第二個參數(shù)是冪,返回第一個參數(shù)的幾次冪

Math.sqrt()

返回參數(shù)的平方根

Math.random()

產(chǎn)生0-1之間的隨機數(shù)

隨機數(shù)方法經(jīng)常使用,比如要生成5-10之間的隨機數(shù)

當求一個x-y之間的數(shù)公式就是:Math.round( Math.random() * ( y - x ) + x )

Math.round( Math.random() * 5 + 5 )

通常第二個數(shù)是區(qū)間中下限的數(shù),第一個數(shù)是區(qū)間上限的數(shù)與第二個加的數(shù)的差值。現(xiàn)在生成的就是5-10之間的隨機數(shù),并且包括5和10本身,如果想不包含5那就調(diào)整第一個數(shù),想不包含10那就調(diào)整第二個數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,691評論 0 4
  • 第1章 認識JS JavaScript能做什么?1.增強頁面動態(tài)效果(如:下拉菜單、圖片輪播、信息滾動等)2.實現(xiàn)...
    mo默22閱讀 1,521評論 0 5
  • 最近好壓抑呀,大寶寫個作業(yè)一眼瞅不到就能把頭低的碰到桌子,專門做的防低頭頭套他不戴給拆了,恨不得弄個錄音機在他耳邊...
    星昊奇緣閱讀 235評論 0 2
  • 風(fēng)經(jīng)過指間的感覺, 盈握不住時光的蹉跎, 撫平不回浮萍的跌宕, 感慨刪繁就簡, 最后還是迷戀未雨綢繆, 而今, 夏...
    暢二狗閱讀 355評論 1 3
  • 今天早上起來就帶女兒去中醫(yī)院開藥,在去的路途中,發(fā)現(xiàn)昆明現(xiàn)在在創(chuàng)建文明城市,的確是提醒了自己,慢慢的自己也開...
    李代唐閱讀 234評論 0 0

友情鏈接更多精彩內(nèi)容