數(shù)組祠丝、字符串對象疾呻、Math對象

數(shù)組的介紹

  • 數(shù)組介紹
    概念: 就是將若干個數(shù)據以一定的順序放在一起的一個集合體,整體上就稱之為“數(shù)組”写半。數(shù)組就是一列數(shù)據的有序排列的集合岸蜗。
  • 定義形式:
    var arr1 = new Array(1, 5, 8, 7, 2, 10); //定義了一個數(shù)組,其中具有6個數(shù)據
    var arr2 = new Array(); //只是單純地定義了一個數(shù)組(名)叠蝇,但沒有給值(數(shù)據)璃岳,即現(xiàn)在是空的
    var arr3 = [1, 5, 8, 7, 2, 10]; //同arr1,只是一種簡寫的定義法悔捶。
    var arr4 = [ ]; //同arr2铃慷,也是一個空數(shù)組。
  • 數(shù)組的使用:所謂使用其實是指對數(shù)組的每一項的使用蜕该。
    • 取值:
      var v1 = arr1[0]; //取得數(shù)組arr1中的第一項犁柜,0叫做下標
      var v2 = arr3[3] + 10; //取得數(shù)組arr3中的第4項,4叫做下標
      ——所謂下標堂淡,其實就是數(shù)組的每一個數(shù)據的“順序號”——從0開始編號馋缅,是連續(xù)的整數(shù)。
    • 賦值:
      arr1[0] = 10; //給數(shù)組arr1的第一項賦值為10绢淀,此時其實也就是相當于修改了其值萤悴,也可以說類似給一個變量重新賦值。
      arr2[0] = 22;
      arr2[1] = 33.3;
      arr2[2] = “444”;
      arr2[3] = “abc”;
      arr2[4] = true;
      //此時arr2這個數(shù)組相當于這樣: [ 22, 33.3, “444”, “abc”, true ]
      取得一個數(shù)組的長度——就是其中的數(shù)據的個數(shù)的語法為:
      var v1 = 數(shù)組名.length;
    • 特別注意:數(shù)組的最大下標是數(shù)組的長度減1皆的。
  • 數(shù)組遍歷的通常模式:
    var len = 數(shù)組名.length;
    for(var i = 0; i < len; i++)
    {
    //這里就是對數(shù)組的每一項的處理覆履,每一項的寫法是: 數(shù)組名[i]
    }
  • 數(shù)組遍歷的另一種形式——for in循環(huán)語句。
    for( var v1 in 數(shù)組名arr1 )
    {
    //這里就是循環(huán)體祭务,是專門針對數(shù)組arr1的遍歷循環(huán)内狗,其中v1的值就是表示數(shù)組的每一項的下標值。

“二維”數(shù)組:

var v1 = [2, 5, 1, 5];

var v2 = [5, 1, 6, 8];

var v3 = [8, 0, 9, 7];

var v4 = [v1, v2, v3];

var v5 = [

[2, 5, 1, 5],

[5, 1, 6, 8],

[8, 0, 9, 7]

];

——v4和v5其實沒有任何區(qū)別义锥,這兩個都可以稱為“二維數(shù)組“柳沙。

  • “二維”數(shù)組元素的操作:

       取值:
    
                var s1 = v5[0][1];     //5   //相當于取到v5這個數(shù)組中第一項(這還是一個數(shù)組)的第2項。
    
                var s2 = v5[2][3] + 100;   //107
    
       賦值:
    
                v5[0][1] = 200;
    
                v5[2][3] = 300;
    
  • 數(shù)組對象的常用方法:

       什么叫方法:方法其實就是函數(shù)拌倍!——只是如果一個函數(shù)“隸屬于”某個“對象”赂鲤,則稱這個函數(shù)為該對象的方法。
    
       functionmaibao(){
    
                document.write(“啦啦啦柱恤,我是賣報的小行家数初,賣報啦賣報啦」K常”);
    

}

var myDreamGirl= {

name: “小花”泡孩,

  • 對象的屬性

age:18,

edu:”大學”,

sex:”女”,

  • 對象的方法

nengli1: function (){document.write(“洗衣!”); } ,

nengli2: function (){ document.write(“做飯寺谤!”); } ,

nengli3: maibao

};

var v1 = [2, 5, 1, 5];

var v2 = [5, 1, 6, 8];

從嚴格的角度來說仑鸥,數(shù)組也是一種對象——甚至字符串也是對象吮播。

  • v1作為對象,就有屬性和方法:
    • 屬性:
      某數(shù)組.length: 表示該數(shù)組對象的長度

    • 方法:
      某數(shù)組.concat(其他數(shù)組):將兩個數(shù)組連接起來成為一個新的“更長”的數(shù)組眼俊。
      var s1 = v1.concat( v2 ); //此時s1是這樣一個數(shù)組: [2, 5, 1, 5, 5, 1, 6, 8];

      某數(shù)組.join(“字符串”):將數(shù)組中的所有項以指定的字符“串接起來”成為“長的”一個字符串意狠。
      var s2 = v1.join(“//”); //結果s2為字符串 “2//5//1//5”

      某數(shù)組.pop(); //將該數(shù)組的最后一項“移除”(刪除),并返回該項數(shù)據疮胖,即該數(shù)組少了一項
      var s3 = v1.pop(); //結果v1只剩這個:[2,5,1]; s3的值是5

      某數(shù)組.push(新數(shù)據項d1); //將新的數(shù)據d1添加到該數(shù)組的最后位置环戈,即數(shù)組多了一項。
      var s4 = v1.push( 55 ); //v1此時為:[2,5,1, 55]澎灸, s4的值為新數(shù)組的長度院塞,即4

      某數(shù)組.shift(); //將該數(shù)組的第一項“移除”(刪除),并返回該項數(shù)據击孩,即該數(shù)組少了一項
      var s5 = v1.shift(); //結果v1只剩這個:[5, 1迫悠,55]; s5的值是2

      某數(shù)組.unshift(新數(shù)據項d1); //將新的數(shù)據d1添加到該數(shù)組的最前位置鹏漆,即數(shù)組多了一項巩梢。
      var v6 = v1.unshift( 66 ); //v1此時為:[66, 5, 1, 55], s6的值為新數(shù)組的長度艺玲,即4

javascript語言是一門基于對象的語言括蝠。

  • 字符串對象:
    var str1 = new String(“abcdefgabc”); //這是一個“字符串對象”
    var str2 = “abcdefgabc”; //這個字符串跟前面str1幾乎沒有區(qū)別
  • 字符串對象的屬性:
    .length——獲得一個字符串的長度(也就是字符個數(shù))
  • 字符串對象的方法:
    1.str1.charAt( n ); ——獲得字符串str1中位置為n的那個字符(字符的位置也是從0開始算起)var s1 = str1.charAt( 3 ); //s1的結果是:”d”
    2.str1.toUpperCase(); ——獲取str1全部轉換為大寫的結果
    var s2 = str1.toUpperCase(); //s2的結果是:”ABCDEFGABC”
    3.str1.toLowerCase(); ——獲取str1全部轉換為小寫的結果
    var s3 = str1.toLowerCase(); //s3的結果是:”abcdefgabc”
    4.str1.replace(“字符1”, “字符2”); ——將str1中的“字符1”替換為“字符2”
    var s4 = str1.replace(“cd”, “999”); //s4的結果是:”ab999efgabc”
    5.str1.indexOf(“字符1”); ——獲得“字符1”在str1中第一次出現(xiàn)的位置,如果沒有出現(xiàn)饭聚,結果是-1
    var s5 = str1.indexOf(“ab”); //s5的結果是0
    6.str1.lastIndexOf(““字符1”); ——獲得“字符1”在str1中最后一次出現(xiàn)的位置忌警,如果沒有出現(xiàn), //結果是-1
    var s6 = str1.lastIndexOf(“ab”); //s6的結果是7
    7.str1.substr(n, m ) ——取得str1中從位置n開始的m個字符秒梳,m可以省略法绵,則表示從位置n一直取到字符串的最后——注意,這種“取”并不影響str1這個原始字符
    var s7 = str1.substr(2, 4); //s7為:”cdef”
    8.str1.substring( n, m )——取得str1中從位置n到位置m的前一個字符酪碘。
    var s8 = str1.substring(2, 4); //s8為:”cd”
    9.str1.split(“字符1”) ——將str1以指定的“字符1”為分界朋譬,分割成一個數(shù)組,結果是一個數(shù)組
    var s9 = str1.split(“b”); //s9的結果是一個數(shù)組:[“a”, “cdefga”, “c”]

Math對象

Math對象是一個系統(tǒng)內部定義的對象兴垦,我們無需去“新建一個Math對象”——跟string對象和array對象不同徙赢。即Math對象是直接使用的。
我們學習Math對象探越,無非是學習一些常見的數(shù)學處理函數(shù)——這里當就叫做方法了:

  • 屬性:
    Math.PI——代表圓周率這個“常數(shù)”
  • 方法:
  1. Math.max(數(shù)值1狡赐,數(shù)值2,…..) ——求得若干個數(shù)值中的最大值钦幔。
  2. Math.min(數(shù)值1枕屉,數(shù)值2,…..) ——求得若干個數(shù)值中的最小值鲤氢。
  3. Math.abs( 數(shù)值1) ——求得數(shù)值1的絕對值
  4. Math.pow( x搀擂,y) ——求得數(shù)值x的y次方拐纱,也就是“冪運算”
  5. Math.sqrt( x ) ——求得x的開方
  6. Math.round( x ) ——求得x的四舍五入的結果值;
  7. Math.floor( x ) ——求得x的向下取整的結果哥倔,即找到不大于x的一個最大的整數(shù)秸架。
    a) Math.floor( 3.1 ) ? 3
    b) Math.floor( 3.8 ) ? 3
    c) Math.floor( 3 ) ? 3
    d) Math.floor( -3.1 ) ? -4
    e) Math.floor( -3.8 ) ? -4
  8. Math.ceil( x ) ——求得x的向上取整的結果,即找到不小于x的一個最小的整數(shù)
    a) Math.ceil( 3.1 ) ? 4
    b) Math.ceil( 3.8 ) ? 4
    c) Math.ceil( 3 ) ? 3
    d) Math.ceil( -3.1 ) ? -3
    e) Math.ceil( -3.8 ) ? -3
  9. Math.random() ——獲得一個0~1范圍中的隨機“小數(shù)”咆蒿,含0东抹,但不含1

//獲得兩個整數(shù)(n1,n2)之間的隨機整數(shù)的通用做法:
var v1 = Math.random()
v1 = v1 * (n2-n1+1);
v1 = Math.floor( v1 ) + n1; //此時v1就是結果
//將上述3步寫出一步就是(通用公式):
var v1 = Math.floor( Math.random() * (n2-n1+1) ) + n1

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末沃测,一起剝皮案震驚了整個濱河市缭黔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒂破,老刑警劉巖馏谨,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異附迷,居然都是意外死亡惧互,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門喇伯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喊儡,“玉大人,你說我怎么就攤上這事稻据“拢” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵捻悯,是天一觀的道長匆赃。 經常有香客問我,道長今缚,這世上最難降的妖魔是什么算柳? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮荚斯,結果婚禮上埠居,老公的妹妹穿的比我還像新娘。我一直安慰自己事期,他們只是感情好滥壕,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兽泣,像睡著了一般绎橘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天称鳞,我揣著相機與錄音涮较,去河邊找鬼。 笑死冈止,一個胖子當著我的面吹牛狂票,可吹牛的內容都是我干的。 我是一名探鬼主播熙暴,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼闺属,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了周霉?” 一聲冷哼從身側響起掂器,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎俱箱,沒想到半個月后国瓮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡狞谱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年乃摹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芋簿。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡峡懈,死狀恐怖,靈堂內的尸體忽然破棺而出与斤,到底是詐尸還是另有隱情,我是刑警寧澤荚恶,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布撩穿,位于F島的核電站,受9級特大地震影響谒撼,放射性物質發(fā)生泄漏食寡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一廓潜、第九天 我趴在偏房一處隱蔽的房頂上張望抵皱。 院中可真熱鬧,春花似錦辩蛋、人聲如沸呻畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伤为。三九已至,卻和暖如春据途,著一層夾襖步出監(jiān)牢的瞬間绞愚,已是汗流浹背叙甸。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留位衩,地道東北人裆蒸。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像糖驴,于是被迫代替她去往敵國和親光戈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內容