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


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


日期對(duì)象

常用方法

new Date() 獲取當(dāng)前時(shí)間

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

getFullYear() 獲取年

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

getDate() 獲取天

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

getHours() 獲取小時(shí)

getMinutes() 獲取分鐘

getSeconds() 獲取秒

getMilliseconds() 獲取毫秒

getTime() 時(shí)間戳任连,返回從1970年1月1日0點(diǎn)0分0秒0毫秒開始計(jì)算的毫秒時(shí)間蚤吹。

getTimezoneOffset() 獲取本地時(shí)間與格林威治標(biāo)準(zhǔn)時(shí)間的分鐘差。

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

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

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

獲取一個(gè)時(shí)間點(diǎn)

設(shè)定一個(gè)時(shí)間點(diǎn)new Date(2017,4,22,22,48,20); 得出的是毫秒跨算。

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

秒的轉(zhuǎn)換

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

秒轉(zhuǎn)為小時(shí):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

字符串長度禁熏,字符串里的空格也占用一個(gè)長度

charAt()

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

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

charCodeAt()

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

charCodeAt()

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

String.fromCharCode()

參數(shù)里輸入一個(gè)編碼憔披,返回相對(duì)應(yīng)的字符,多個(gè)編碼用逗號(hào)間隔

indexOf()

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

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

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

indexOf()每次只能返回查找到的第一個(gè)索引位置檀训,如果要查找所有的索引位置需要寫一個(gè)循環(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;
}

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

lastIndexOf()

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

字符串的大小比較

中文字符也是可以進(jìn)行比較的览露,比如'山東' > '青島'荧琼,比較的是第一個(gè)字符的編碼值的大小,也就是山的編碼值和青的編碼值的比較差牛,和后面的所有字符沒有關(guān)系命锄。

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

substring()

截取類方法驶冒,對(duì)字符串當(dāng)中的某些文字進(jìn)行截取。負(fù)數(shù)會(huì)直接當(dāng)0來處理韵卤。

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

傳入兩個(gè)參數(shù)時(shí)沈条,截取字符串參數(shù)一的索引到參數(shù)二的索引之間的字符需忿。另外,如果第二個(gè)參數(shù)比第一個(gè)參數(shù)小那么會(huì)自動(dòng)調(diào)換兩個(gè)參數(shù)的位置蜡歹。

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

slice()

和substring()用法基本一樣屋厘。但是傳兩個(gè)參數(shù)時(shí)不會(huì)交換位置。

和substring()方法不同的是:

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

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

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

toUpperCase()

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

toLowerCase()

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

split()

將字符串分割為數(shù)組铛漓。參數(shù)是按照什么字符分割,如果不傳參數(shù)默認(rèn)會(huì)將整個(gè)字符串當(dāng)做一個(gè)數(shù)組的一個(gè)元素鲫构。

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

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

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

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

replace()

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

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

數(shù)組的方法

push()

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

unshift()

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

pop()

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

shift()

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

splice()

splice方法可以刪除劣像、替換乡话、添加

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

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

添加的時(shí)候第一個(gè)參數(shù)是要添加的后面那個(gè)元素的索引,第二個(gè)參數(shù)是0谓晌,代表不替換掠拳,要添加的元素寫在第二個(gè)參數(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ù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的元素組成的新數(shù)組纸肉。只傳一個(gè)參數(shù)那就是獲取到最后溺欧,不會(huì)改變?cè)瓟?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()

對(duì)數(shù)組進(jìn)行排序,默認(rèn)全部按照字符串的規(guī)則進(jìn)行排序柏肪,會(huì)將數(shù)字轉(zhuǎn)為字符串姐刁,然后按照字符串的比較方式,由小到大排序烦味。

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

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

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

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

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

只要return 為true,那么就會(huì)換位置溃论。

join()

將數(shù)組轉(zhuǎn)為字符串屎蜓,用傳入的參數(shù)去分割數(shù)組每個(gè)元素,組成一個(gè)字符串钥勋,如果不傳參數(shù)默認(rèn)用逗號(hào)分割炬转。

concat()

將多個(gè)數(shù)組拼接起來辆苔,參數(shù)可以傳過個(gè),傳幾個(gè)就連接幾個(gè)扼劈,會(huì)拼成一個(gè)新的數(shù)組驻啤,不會(huì)改變?cè)瓉淼臄?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)部元素的位置测僵。對(duì)字符串也可以進(jìn)行操作街佑,只是從頭到尾顛倒位置。不會(huì)進(jìn)行比較捍靠。

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

toString()

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

Math系列方法

Math.round()

對(duì)參數(shù)進(jìn)行四舍五入操作榨婆。

Math.abs()

返回參數(shù)的絕對(duì)值磁携。

Math.ceil()

對(duì)參數(shù)進(jìn)行向上取整

Math.floor()

對(duì)參數(shù)進(jìn)行向下取整

Math.max()

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

Math.min()

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

Math.pow()

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

Math.sqrt()

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

Math.random()

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

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末啄寡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子哩照,更是在濱河造成了極大的恐慌挺物,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件飘弧,死亡現(xiàn)場離奇詭異识藤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)次伶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蹋岩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人学少,你說我怎么就攤上這事⊙砥铮” “怎么了版确?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵扣囊,是天一觀的道長。 經(jīng)常有香客問我绒疗,道長侵歇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任吓蘑,我火速辦了婚禮惕虑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘磨镶。我一直安慰自己溃蔫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布琳猫。 她就那樣靜靜地躺著伟叛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脐嫂。 梳的紋絲不亂的頭發(fā)上统刮,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音账千,去河邊找鬼侥蒙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛匀奏,可吹牛的內(nèi)容都是我干的鞭衩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼攒射,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼醋旦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起会放,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤饲齐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后咧最,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捂人,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年矢沿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滥搭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捣鲸,死狀恐怖瑟匆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情栽惶,我是刑警寧澤愁溜,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布疾嗅,位于F島的核電站,受9級(jí)特大地震影響冕象,放射性物質(zhì)發(fā)生泄漏代承。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一渐扮、第九天 我趴在偏房一處隱蔽的房頂上張望论悴。 院中可真熱鬧,春花似錦墓律、人聲如沸膀估。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玖像。三九已至,卻和暖如春齐饮,著一層夾襖步出監(jiān)牢的瞬間捐寥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工祖驱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留握恳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓捺僻,卻偏偏與公主長得像乡洼,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匕坯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

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