久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

JavaScript的函數(shù)和數(shù)組

 天中仙 2012-01-15

函數(shù)

函數(shù)是可以重復(fù)使用的代碼塊,可以由一個事件執(zhí)行,或被調(diào)用執(zhí)行,。一個函數(shù)中的代碼只有在事件觸發(fā)或函數(shù)被調(diào)用的時候才被執(zhí)行,。你可以在頁面中的任 何位置調(diào)用腳本(如果函數(shù)嵌入一個外部的 .js 文件,甚至可以從其他的頁面中調(diào)用),。函數(shù)一般定義在頁面開始位置的<head> 部分中,。

eg:

<html>
<head>
<script type="text/javascript">
function displaymessage()
{
alert("Hello World!")
}
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onclick="displaymessage()">
</form>
</body>
</html>

假如上面的例子中的 alert("Hello world!!") 沒有被寫入函數(shù),那么當頁面被載入時它就會執(zhí)行?,F(xiàn)在,,當用戶擊中按鈕時,腳本才會執(zhí)行,。我們給按鈕添加了onClick 事件,,這樣按鈕被點擊時函數(shù)才會執(zhí)行。

創(chuàng)建函數(shù)的語法:

function 函數(shù)名(var1,var2,...,varX)  若無var1,var2,...,varX也可以,,表示無參數(shù)函數(shù),。
  {
  代碼...
  }
或
var a = function () {代碼...}


數(shù)組

數(shù)組就是某類數(shù)據(jù)的集合,數(shù)據(jù)類型可以是整型,、字符串,、甚至是對象Javascript不支持多維數(shù)組,但是因為數(shù)組里面可以包含對象(數(shù)組也是一個對象).

定義數(shù)組 定義數(shù)組要使用關(guān)鍵字new,。

eg:var myArray=new Array()

向數(shù)組內(nèi)賦值有2種方法:

  • 先定義再賦值,。
var mycars=new Array()
mycars[0]=“buick”
mycars[1]=”Volvo”
mycars[2]=”BMW” 

上面的定義中沒有定義數(shù)組的大小,你可以向數(shù)組中添加任意多個值,。你也可以在定義數(shù)組對象時寫入一個整型參數(shù)來控制數(shù)組的大小.

eg:

var mycars=new Array(3)
mycars[0]="buick”
mycars[1]=”Volvo”
mycars[2]=”BMW” 


  • 定義的同時填值:

eg: var mycars=new Array(”buick”,”Volvo”,”BMW”) 或var mycars=[”buick”,”Volvo”,”BMW”]


訪問數(shù)組

你可以通過使用數(shù)組的名稱后面加索引號來指向數(shù)組中某一元素,。索引號從零開始。

eg: document.write(mycars[0]) 將輸出:buick

修改數(shù)組內(nèi)的值

要修改數(shù)組中現(xiàn)有的值只需要將新值寫入數(shù)組指定位置即可,。

eg:將0號索引的值改為:Opel,。 寫法為:mycars[0]=”O(jiān)pel” document.write(mycars[0])

Array literals

數(shù)組其實是特殊的對象,對象有特有屬性和方法,,通過 對象名.屬性 ,、對象.方法() 來取值和調(diào)用,而數(shù)組是通過下標來取值,,Array Literals跟數(shù)組有很多相似,,都是某數(shù)據(jù)類型的集合,但是Array Literals從根本來說,,是個對象,,但聲明和調(diào)用,跟數(shù)組是有區(qū)別,。

var aa=new Object();
aa.x="cat";
aa.y="sunny";
alert(aa.x);//彈出cat

創(chuàng)建一個簡單的對象,,一般調(diào)用是通過aa.x,,而如果當成Array literals的話,用alert(aa[“x”])一樣會彈出cat

var a = {x:"cat",    y:"sunny"};
alert(a["y"]);  //彈出sunny

這是另一種創(chuàng)建對象的方法,,結(jié)果是一樣的.

數(shù)組的循環(huán)

var a=[1,2,3,4,5,6];
for(i=0;i<a.length;i++)
{ alert(a[i]);
}

這是最常用的遍歷數(shù)組,,代碼依次彈出1至6.

還有一宗方法為:

var a=[1,2,3,4,5,6];
for(var e in a)
{
   alert(e)}

還是依次彈出1至6,for…in是歷遍對象(數(shù)組是特殊的對象)對象,,用在數(shù)組上,,因為數(shù)組沒有屬性名,所以直接輸出值,,

數(shù)組的操作方法

先概覽下下面的這些操作數(shù)組常用的方 法:toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(),pop(),push(),shift(),unshift(),sort(),splice()

  • toString(),valueOf(),toLocalString():

功能:返回數(shù)組的全部元素

注:數(shù)組名也可以返回整個數(shù)組

eg:

   var m=["am","bm","cm"];//用括號聲明一個數(shù)組對象
   alert(m.toString());//toString()返回數(shù)組對象的所有內(nèi)容,用逗號分割,即am,bm,cm
   alert(m.valueOf());//valueOf()也返回數(shù)組對象的所有內(nèi)容
   alert(m.toLocaleString());//toLocaleString()也返回數(shù)組對象的所有內(nèi)容,但有地區(qū)語言區(qū)別,暫不研究
   alert(m);//數(shù)組名也返回數(shù)組對象的所有內(nèi)容
  • join():

功能:把數(shù)組各個項用某個字符(串)連接起來,但并不修改原來的數(shù)組

eg:

   var m=["am","bm","cm"];//用括號聲明一個數(shù)組對象
   var n=m.join("---");//用---連接am,bm,cm.
   alert(m.toString());//m并沒有被修改,返回am,bm,cm
   alert(n);//n是一個字符串,為am---bm---cm
  • split():

功能:把一個字符串按某個字符(串)分割成一個數(shù)組,但不修改原字符串

eg:

   var str="I love maomao,I am caolvchong";
   var arr=str.split("o");//按字符o把str字符串分割成一個數(shù)組
   alert(arr);//輸出整個數(shù)組
  • slice():

功能:返回某個位置開始(到某個位置結(jié)束)的數(shù)組部分,不修改原數(shù)組

eg:

   var m=["am","bm","cm","dm","em","fm"];
   var n=m.slice(2);//返回第二個元素bm后面的元素,即cm,dm,em,fm
   var q=m.slice(2,5);//返回第二個元素后到第五個元素,即cm,dm,em
   alert(n);
   alert(q);

數(shù)組對象的棧操作:

  • push():數(shù)組末尾添加一個項
  • pop():刪除數(shù)組最后一個項

eg:

   var m=["am","bm","cm","dm","em","fm"];
   m.push("gm");//在數(shù)組末尾添加元素gm
   alert(m);
   m.pop();//刪除數(shù)組最后一個元素gm
   alert(m);

數(shù)組對象的隊列操作:

  • unshift():數(shù)組頭添加一個項
  • shift():刪除數(shù)組第一個項

代碼:

   var m=["am","bm","cm","dm","em","fm"];
   m.unshift("gm");//在數(shù)組第一個元素位置添加元素gm
   alert(m);
   m.shift();//刪除數(shù)組第一個元素gm
   alert(m);
  • sort():數(shù)組按字符的ASCII碼進行排序,修改數(shù)組對象

注:即便是數(shù)字數(shù)組,也將轉(zhuǎn)化為字符串來進行比較排序

eg:

   var m=["am","fm","gm","bm","em","dm"];
   m.sort();//按字母序排序
   alert(m);
  • concat():在數(shù)組尾添加元素,但不修改數(shù)組對象

代碼:

   var m=["am","bm"]
   var n=m.concat("cm");//添加一項cm,并且賦予新數(shù)組對象
   alert(m);//原數(shù)組沒有被修改
   alert(n);//輸出新數(shù)組對象
  • splice():在數(shù)組的任意位置進行添加,刪除或者替換元素,直接修改數(shù)組對象

細節(jié):

splice()有三個參數(shù)或三個以上參數(shù),前兩個是必須的,后面參數(shù)是可選的

進行添加:splice(起始項,0,添加項)

進行刪除:splice(起始項,要刪除的項個數(shù))

進行替換:splice(起始項,替換個數(shù),替換項) 這個其實是添加刪除的共同結(jié)果

eg:

   var m=["am","bm"]
   m.splice(1,0,"fm","sm");//在第一項后面添加fm和sm,返回am,fm,sm,bm
   alert(m);
   m.splice(2,1);//刪除第二項后面一項(即第三項sm,返回am,fm,bm)
   alert(m);
   m.splice(2,1,"mm");//替換第二項后面一項(即第三項,返回am,fm,mm)
   alert(m);

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多