數組介紹
概念: 就是將若干個資料以一定的順序放在一起的一個集合體,整體上就稱之為「數組」。數組就是一列資料的有序排列的集合。
定義形式:
1 2 3 4 | <span> var </span> arr1 = <span> new </span> Array(<span>1</span>, <span>5</span>, <span>8</span>, <span>7</span>, <span>2</span>, <span>10</span>); <span>
<span> var </span> arr2 = <span> new </span> Array(); <span>
<span> var </span> arr3 = [<span>1</span>, <span>5</span>, <span>8</span>, <span>7</span>, <span>2</span>, <span>10</span>]; <span>
<span> var </span> arr4 = [ ]; <span>
|
登入後複製
數組的使用:所謂使用其實是指對數組的每一項的使用。
取值:
1 2 3 | <span> var </span> v1 = arr1[<span>0</span>]; <span>
<span> var </span> v2 = arr3[<span>3</span>] + <span>10</span>; <span>
——所谓下标,其实就是数组的每一个数据的“顺序号”——从0开始编号,是连续的整数。
|
登入後複製
賦值:
1 2 3 4 5 | arr2[<span>0</span>] = <span>22</span><span>;
arr2[</span><span>1</span>] = <span>33.3</span><span>;
arr2[</span><span>2</span>] = “<span>444</span><span>”;
arr2[</span><span>3</span>] =<span> “abc”;
arr2[</span><span>4</span>] = <span>true</span>;
|
登入後複製
//此時arr2這個陣列相當於這樣: [ 22, 33.3, “444”, “abc”, true ]
數組的「視覺形象」(以arr3為例):
1 2 | 下标值: <span>0</span> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span><span>
数据值: </span><span>1</span> <span>5</span> <span>8</span> <span>7</span> <span>2</span> <span>10</span>
|
登入後複製
取得一個陣列的長度-就是其中的資料的數量的語法為:
var v1 = 陣列名.length;
特別注意:陣列的最大下標是陣列的長度減1。
數組遍歷的通常模式:
var len = 陣列名.length;
for(var i = 0; i
{
//這裡是對陣列的每一項的處理,每一項的寫法是: 陣列名[i]
}
數組遍歷的另一種形式-for in迴圈語句。
for( var v1 in 陣列名稱arr1 )
{
//這裡就是一個循環體,是專門針對數組arr1的遍歷循環,其中v1的值就是表示數組的每一項的下標值。
//v1只是一個“臨時變數”,代表每一項下標,依序會從0變化到陣列的最大下標。
}
「二維」數組:
1 2 3 4 5 6 7 8 9 | <span> var </span> v1 = [<span>2</span>, <span>5</span>, <span>1</span>, <span>5</span><span>];
</span><span> var </span> v2 = [<span>5</span>, <span>1</span>, <span>6</span>, <span>8</span><span>];
</span><span> var </span> v3 = [<span>8</span>, <span>0</span>, <span>9</span>, <span>7</span><span>];
</span><span> var </span> v4 =<span> [v1, v2, v3];
</span><span> var </span> v5 =<span> [
[</span><span>2</span>, <span>5</span>, <span>1</span>, <span>5</span><span>],
[</span><span>5</span>, <span>1</span>, <span>6</span>, <span>8</span><span>],
[</span><span>8</span>, <span>0</span>, <span>9</span>, <span>7</span><span>]
]; </span>
|
登入後複製
——v4和v5其實沒有任何區別,這兩個都可以稱為「二維數組」。
「二維」數組元素的操作:
取值:
為
var s2 = v5[2][3] + 100; //107
賦值:
v5[0][1] = 200;
v5[2][3] = 300;
數組物件的常用方法:
什麼叫方法:方法其實就是函數! ——只是如果一個函數“隸屬於”某個“對象”,則稱這個函數為該對象的方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <span> function maibao(){
document.write(“啦啦啦,我是卖报的小行家,卖报啦卖报啦。”);
}
</span><span> var </span> myDreamGirl =<span> {
name: “小花”,
age:</span><span>18</span><span>,
edu:”大学”,
sex:”女”,
nengli1: function (){ document.write(“洗衣!”); } ,
nengli2: function (){ document.write(“做饭!”); } ,
nengli3: maibao
};
</span><span> var </span> v1 = [<span>2</span>, <span>5</span>, <span>1</span>, <span>5</span><span>];
</span><span> var </span> v2 = [<span>5</span>, <span>1</span>, <span>6</span>, <span>8</span>];
|
登入後複製
從嚴格的角度來說,陣列也是一種物件——甚至連字串也是物件。
v1作為對象,就有屬性和方法:
屬性:
且有陣列.length: 表示此陣列物件的長度
方法:
某數組.concat(其他陣列):將兩個陣列連接為新的「較長」的陣列。
var s1 = v1.concat( v2
); //此時s1是如此一個陣列: [2, 5, 1, 5, 5, 1, 6, 8];
某數組.join(「字串」):將陣列中的所有項目以指定的字元「串接起來」成為「長的」一個字串。
var
s2 = 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语言是一门基于对象的语言。
字符串对象:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <span> var </span> str1 = <span> new </span> String(“abcdefgabc”); <span>
<span> var </span> str2 = “abcdefgabc”; <span>
<span>字符串对象的属性:
.length——获得一个字符串的长度(也就是字符个数)
字符串对象的方法:
</span><span>1</span>. str1.charAt( n ); ——获得字符串str1中位置为n的那个字符(字符的位置也是从0开始算起)<span> var </span> s1 = str1.charAt( <span>3</span> ); <span>
<span>2</span><span>. str1.toUpperCase(); ——获取str1全部转换为大写的结果
</span><span> var </span> s2 = str1.toUpperCase(); <span>
<span>3</span><span>. str1.toLowerCase(); ——获取str1全部转换为小写的结果
</span><span> var </span> s3 = str1.toLowerCase(); <span>
<span>4</span><span>. str1.replace(“字符1”, “字符2”); ——将str1中的“字符1”替换为“字符2”
</span><span> var </span> s4 = str1.replace(“cd”, “<span>999</span>”); <span>
<span>5</span>. str1.indexOf(“字符1”); ——获得“字符1”在str1中第一次出现的位置,如果没有出现,结果是-<span>1</span>
<span> var </span> s5 = str1.indexOf(“ab”); <span>
<span>6</span>. str1.lastIndexOf(““字符1”); ——获得“字符1”在str1中最后一次出现的位置,如果没有出现,结果是-<span>1</span>
<span> var </span> s6 = str1.lastIndexOf(“ab”); <span>
<span>7</span><span>. str1. substr (n, m ) ——取得str1中从位置n开始的m个字符,m可以省略,则表示从位置n一直取到字符串的最后——注意,这种“取”并不影响str1这个原始字符
</span><span> var </span> s7 = str1. substr (<span>2</span>, <span>4</span>); <span>
<span>8</span><span>. str1.substring( n, m )——取得str1中从位置n到位置m的前一个字符。
</span><span> var </span> s8 = str1.substring(<span>2</span>, <span>4</span>); <span>
<span>9</span><span>. str1.split(“字符1”) ——将str1以指定的“字符1”为分界,分割成一个数组,结果是一个数组
</span><span> var </span> s9 = str1.split(“b”); <span>
|
登入後複製
Math对象
Math对象是一个系统内部定义的对象,我们无需去“新建一个Math对象”——跟string对象和array对象不同。即Math对象是直接使用的。
我们学习Math对象,无非是学习一些常见的数学处理函数——这里当就叫做方法了:
属性:
Math.PI——代表圆周率这个“常数”
方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <span>1</span><span>. Math.max(数值1,数值2,…..) ——求得若干个数值中的最大值。
</span><span>2</span><span>. Math.min(数值1,数值2,…..) ——求得若干个数值中的最小值。
</span><span>3</span><span>. Math. abs ( 数值1) ——求得数值1的绝对值
</span><span>4</span><span>. Math.pow( x,y) ——求得数值x的y次方,也就是“幂运算”
</span><span>5</span><span>. Math.sqrt( x ) ——求得x的开方
</span><span>6</span><span>. Math. round ( x ) ——求得x的四舍五入的结果值;
</span><span>7</span><span>. Math. floor ( x ) ——求得x的向下取整的结果,即找到不大于x的一个最大的整数。
a) Math. floor ( </span><span>3.1</span> ) ? <span>3</span><span>
b) Math. floor ( </span><span>3.8</span> ) ? <span>3</span><span>
c) Math. floor ( </span><span>3</span> ) ? <span>3</span><span>
d) Math. floor ( </span>-<span>3.1</span> ) ? -<span>4</span><span>
e) Math. floor ( </span>-<span>3.8</span> ) ? -<span>4</span>
<span>8</span><span>. Math. ceil ( x ) ——求得x的向上取整的结果,即找到不小于x的一个最小的整数
a) Math. floor ( </span><span>3.1</span> ) ? <span>4</span><span>
b) Math. floor ( </span><span>3.8</span> ) ? <span>4</span><span>
c) Math. floor ( </span><span>3</span> ) ? <span>3</span><span>
d) Math. floor ( </span>-<span>3.1</span> ) ? -<span>3</span><span>
e) Math. floor ( </span>-<span>3.8</span> ) ? -<span>3</span>
<span>9</span>. Math.random() ——获得一个0~<span>1范围中的随机“小数”,含0,但不含1
</span><span>
<span> var </span> v1 =<span> Math.random()
v1 </span>= v1 * (n2-n1+<span>1</span><span>);
v1 </span>= Math. floor ( v1 ) + n1; <span>
</span><span>
<span> var </span> v1 = Math. floor ( Math.random() * (n2-n1+<span>1</span>) ) + n1
|
登入後複製
以上就介绍了php基础学习笔记(4),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。