php基礎學習筆記(4)

來源:互聯網
上載者:User
數組介紹

概念: 就是將若干個資料以一定的順序放在一起的一個集合體,整體上就稱之為“數組”。數組就是一列資料的有序排列的集合。

定義形式:

var  arr1 = new Array(1,  5,  8,  7,  2,  10);    //定義了一個數組,其中具有6個資料    var  arr2 = new Array();        //只是單純地定義了一個數組(名),但沒有給值(資料),即現在是空的    var  arr3 = [1,  5,  8,  7,  2,  10];    //同arr1,只是一種簡寫的定義法。    var  arr4 = [ ];        //同arr2,也是一個空數組。

數組的使用:所謂使用其實是指對數組的每一項的使用。

取值:

    var  v1 = arr1[0];    //取得數組arr1中的第一項,0叫做下標        var  v2 = arr3[3] + 10;    //取得數組arr3中的第4項,4叫做下標        ——所謂下標,其實就是數組的每一個資料的“順序號”——從0開始編號,是連續的整數。

賦值:

arr1[0] = 10; //給數組arr1的第一項賦值為10,此時其實也就是相當於修改了其值,也可以說類似給一個變數重新賦值。

arr2[0]  = 22;        arr2[1]  = 33.3;        arr2[2]  = “444”;        arr2[3]  = “abc”;        arr2[4]  = true;

//此時arr2這個數組相當於這樣: [ 22, 33.3, “444”, “abc”, true ]

數組的“視覺形象”(以arr3為例):

下標值:    0    1    2    3    4    5資料值:    1    5    8    7    2    10

取得一個數組的長度——就是其中的資料的個數的文法為:

var v1 = 數組名.length;

特別注意:數組的最大下標是數組的長度減1。

數組遍曆的通常模式:

var len = 數組名.length;

for(var i = 0; i < len; i++)

{

//這裡就是對數組的每一項的處理,每一項的寫法是: 數組名[i]

}

數組遍曆的另一種形式——for in迴圈語句。

for( var v1 in 數組名arr1 )

{

//這裡就是迴圈體,是專門針對數組arr1的遍曆迴圈,其中v1的值就是表示數組的每一項的下標值。

//v1隻是一個“臨時變數”,代表每一項下標,依次會從0變化到數組的最大下標。

}

“二維”數組:

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其實沒有任何區別,這兩個都可以稱為“二維數組“。

“二維”數組元素的操作:

取值:

var s1 = v5[0][1]; //5 //相當於取到v5這個數組中第一項(這還是一個數組)的第2項。

var s2 = v5[2][3] + 100; //107

賦值:

v5[0][1] = 200;

v5[2][3] = 300;

數組對象的常用方法:

什麼叫方法:方法其實就是函數!——只是如果一個函數“隸屬於”某個“對象”,則稱這個函數為該對象的方法。

function maibao(){        document.write(“啦啦啦,我是賣報的小行家,賣報啦賣報啦。”);}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];

從嚴格的角度來說,數組也是一種對象——甚至字串也是對象。

v1作為對象,就有屬性和方法:

屬性:

某數組.length: 表示該數組對象的長度

方法:

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

某數組.join(“字串”):將數組中的所有項以指定的字元“串接起來”成為“長的”一個字串。

vars2 = v1.join(“//”); //結果s2為字串 “2//5//1//5”

某數組.pop(); //將該數組的最後一項“移除”(刪除),並返回該項資料,即該數組少了一項

var s3 = v1.pop(); //結果v1隻剩這個:[2,5,1]; s3的值是5

某數組.push(新資料項目d1); //將新的資料d1添加到該數組的最後位置,即數組多了一項。

var s4 = v1.push( 55 ); //v1此時為:[2,5,1, 55], s4的值為新數組的長度,即4

某數組.shift(); //將該數組的第一項“移除”(刪除),並返回該項資料,即該數組少了一項

var s5 = v1.shift(); //結果v1隻剩這個:[5, 1,55]; s5的值是2

某數組.unshift(新資料項目d1); //將新的資料d1添加到該數組的最前位置,即數組多了一項。

var v6 = v1.unshift( 66 ); //v1此時為:[66, 5, 1, 55], s6的值為新數組的長度,即4

javascript語言是一門基於對象的語言。

字串對象:

var str1 = new String(“abcdefgabc”);    //這是一個“字串對象”    var str2 = “abcdefgabc”;                //這個字串跟前面str1幾乎沒有區別字串對象的屬性:        .length——獲得一個字串的長度(也就是字元個數)字串對象的方法: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中第一次出現的位置,如果沒有出現,結果是-1var s5 = str1.indexOf(“ab”);        //s5的結果是06.    str1.lastIndexOf(““字元1”); ——獲得“字元1”在str1中最後一次出現的位置,如果沒有出現,結果是-1var s6 = str1.lastIndexOf(“ab”);        //s6的結果是77.    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”為分界,分割成一個數組,結果是一個數組var s9 = str1.split(“b”);    //s9的結果是一個數組:[“a”, “cdefga”, “c”]

Math對象

Math對象是一個系統內部定義的對象,我們無需去“建立一個Math對象”——跟string對象和array對象不同。即Math對象是直接使用的。

我們學習Math對象,無非是學習一些常見的數學處理函數——這裡當就叫做方法了:

屬性:

Math.PI——代表圓周率這個“常數”

方法:

1.    Math.max(數值1,數值2,…..) ——求得若干個數值中的最大值。2.    Math.min(數值1,數值2,…..)     ——求得若干個數值中的最小值。3.    Math.abs( 數值1)     ——求得數值1的絕對值4.    Math.pow( x,y)        ——求得數值x的y次方,也就是“冪運算”5.    Math.sqrt( x )            ——求得x的開方6.    Math.round( x )         ——求得x的四捨五入的結果值;7.    Math.floor( x )            ——求得x的向下取整的結果,即找到不大於x的一個最大的整數。a)    Math.floor( 3.1 ) ? 3b)    Math.floor( 3.8 ) ? 3c)    Math.floor( 3 ) ? 3d)    Math.floor( -3.1 ) ? -4e)    Math.floor( -3.8 ) ? -48.    Math.ceil( x )             ——求得x的向上取整的結果,即找到不小於x的一個最小的整數a)    Math.floor( 3.1 ) ? 4b)    Math.floor( 3.8 ) ? 4c)    Math.floor( 3 ) ? 3d)    Math.floor( -3.1 ) ? -3e)    Math.floor( -3.8 ) ? -39.    Math.random()        ——獲得一個0~1範圍中的隨機“小數”,含0,但不含1//獲得兩個整數(n1,n2)之間的隨機整數的通用做法:    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

以上就介紹了php基礎學習筆記(4),包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.