一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

JavaScript--總結(jié)三(數(shù)組和函數(shù))

 python_lover 2021-08-29

數(shù)組

數(shù)組的概念:

將多個(gè)元素(通常是同一類型)按照一定順序排列放到一個(gè)集合中,這個(gè)集合稱之為數(shù)組---簡(一組有序的數(shù)據(jù))

數(shù)組的作用:可以一次性存儲多個(gè)數(shù)據(jù)

數(shù)組的定義:

1.通過構(gòu)造函數(shù)創(chuàng)建數(shù)組

語法:

var 數(shù)組名=new Array();
var array=new Array();//定義了一個(gè)數(shù)組
  var arr1=new Array();//構(gòu)造函數(shù)的方式---空數(shù)組
  var arr2=new Array(5);//構(gòu)造函數(shù)的方式定義了一個(gè)數(shù)組,數(shù)組中有5個(gè)元素,數(shù)組長度是5,每個(gè)數(shù)據(jù)是undefined
  var arr3=new Array(10,20,1000,40,50,60);構(gòu)造函數(shù)的方式定義了一個(gè)數(shù)組,并且有多個(gè)數(shù)據(jù)(這里是6個(gè)數(shù)組)
 
  總結(jié)點(diǎn):當(dāng)括號中是一個(gè)數(shù)時(shí),代表數(shù)組的長度;當(dāng)括號多個(gè)值時(shí),代表的是每個(gè)具體的數(shù)據(jù)值;


數(shù)組的名字如果直接輸出,那么直接就可以把數(shù)組中的數(shù)據(jù)顯示出來,如果沒有數(shù)據(jù)就看不到數(shù)據(jù);

2.通過字面量的方式創(chuàng)建數(shù)組

語法:

 var 數(shù)組名=[];//空數(shù)組
 var array=[];
var 數(shù)組名=[值1,值2,值3];
無論是構(gòu)造函數(shù)的方式還是字面量的方式,定義的數(shù)組,如果有長度,那么默認(rèn)是undefined

數(shù)組的長度:就是數(shù)組中的元素個(gè)數(shù)--可以通過length來獲取數(shù)組的長度

// 創(chuàng)建一個(gè)空數(shù)組
var arr1 = []; 
// 創(chuàng)建一個(gè)包含3個(gè)數(shù)值的數(shù)組,多個(gè)數(shù)組項(xiàng)以逗號隔開
var arr2 = [1, 3, 4]; 
// 創(chuàng)建一個(gè)包含2個(gè)字符串的數(shù)組
var arr3 = ['a', 'c']; 

// 可以通過數(shù)組的length屬性獲取數(shù)組的長度
console.log(arr3.length);
// 可以設(shè)置length屬性改變數(shù)組中元素的個(gè)數(shù)
arr3.length = 0;

數(shù)組的索引(下標(biāo)):從0開始,到數(shù)組的長度減1結(jié)束

可以通過索引來獲取/設(shè)置/增加數(shù)組元素

// 格式:數(shù)組名[下標(biāo)]    下標(biāo)又稱索引
// 功能:獲取數(shù)組對應(yīng)下標(biāo)的那個(gè)值,如果下標(biāo)不存在,則返回undefined。
var arr = ['red',, 'green', 'blue'];
arr[0];    // red
arr[2]; // blue
arr[3]; // 這個(gè)數(shù)組的最大下標(biāo)為2,因此返回undefined

  // 格式:數(shù)組名[下標(biāo)/索引] = 值;
  // 如果下標(biāo)有對應(yīng)的值,會把原來的值覆蓋,如果下標(biāo)不存在,會給數(shù)組新增一個(gè)元素。
  var arr = ["red", "green", "blue"];
  // 把red替換成了yellow
  arr[0] = "yellow";
  // 給數(shù)組新增加了一個(gè)pink的值
  arr[3] = "pink";

通過下標(biāo)設(shè)置數(shù)組的元素值: 數(shù)組名[索引]=值
通過下標(biāo)訪問數(shù)組的元素值: 數(shù)組名[索引]
數(shù)組中元素的值的類型可以不一樣
數(shù)組的長度是可以被改變的

數(shù)組遍歷

遍歷:遍及所有,對數(shù)組的每一個(gè)元素都訪問一次叫遍歷

數(shù)組遍歷的基本語法:

for(var i=0;i<arr.length;i++){
    //數(shù)組遍歷的固定模式
}

 

函數(shù)

把一段相對獨(dú)立的具有特定功能的代碼塊封裝起來,形成一個(gè)獨(dú)立實(shí)體,就是函數(shù),起個(gè)名字(函數(shù)名),在后續(xù)開發(fā)中可以反復(fù)調(diào)用

函數(shù)的作用:代碼的重復(fù)使用

函數(shù)的定義

1.函數(shù)聲明

function 函數(shù)名(){
  // 函數(shù)體
}

函數(shù)聲明的時(shí)候,函數(shù)體并不會執(zhí)行,只要當(dāng)函數(shù)被調(diào)用的時(shí)候才會執(zhí)行

2.函數(shù)表達(dá)式

var fn = function() {
  // 函數(shù)體
}

函數(shù)的調(diào)用:

函數(shù)名();

函數(shù)體只有在調(diào)用的時(shí)候才會執(zhí)行,調(diào)用需要()進(jìn)行調(diào)用。

可以調(diào)用多次(重復(fù)使用)

// 聲明函數(shù)
function sayHi() {
  console.log("吃了沒?");
}
// 調(diào)用函數(shù)
sayHi();

函數(shù)參數(shù):

在函數(shù)定義的時(shí)候,函數(shù)名字后面的小括號里的變量就是參數(shù),目的是函數(shù)在調(diào)用的時(shí)候,用戶傳進(jìn)來的值操作,此時(shí)函數(shù)定義的時(shí)候后面的小括號里的變量就叫參數(shù);寫倆個(gè)變量就有倆個(gè)參數(shù)(寫多少代表有多少個(gè));

在函數(shù)調(diào)用的時(shí)候,按照提示的方法,給變量賦值---就叫傳值,把這個(gè)值傳到變量(參數(shù)中);

函數(shù)內(nèi)部是一個(gè)封閉的環(huán)境,可以通過參數(shù)的方式,把外部的值傳遞給函數(shù)內(nèi)部
帶參數(shù)的函數(shù)聲明
function 函數(shù)名(形參1, 形參2, 形參...){
  // 函數(shù)體
}
帶參數(shù)的函數(shù)調(diào)用
函數(shù)名(實(shí)參1, 實(shí)參2, 實(shí)參3);

形參:在聲明函數(shù)的時(shí)候,為了函數(shù)的功能更加靈活,有些值固定不了,對于這些固定不了的值,我們可以給函數(shù)設(shè)置參數(shù),這個(gè)參數(shù)沒有具體的值,僅僅起到一個(gè)占位置的作用

實(shí)參:如果函數(shù)在聲明時(shí),設(shè)置了形參,那么在函數(shù)調(diào)用時(shí)就需要傳入對應(yīng)的參數(shù)(實(shí)參可以是變量也可以是值)

函數(shù)的返回值

當(dāng)函數(shù)執(zhí)行完的時(shí)候,并不是所有時(shí)候都需要把結(jié)果打印出來;我們需要函數(shù)給我們一些反饋(比如計(jì)算的結(jié)果返回進(jìn)行后續(xù)的運(yùn)算),這個(gè)時(shí)候可以讓函數(shù)返回一些東西,也就是返回值。函數(shù)通過return返回一個(gè)返回值。

在函數(shù)內(nèi)部有return關(guān)鍵字,并且在關(guān)鍵字后面有內(nèi)容,這個(gè)內(nèi)容被返回了
當(dāng)函數(shù)調(diào)用之后,需要這個(gè)返回值,那么就定義變量接收,即可
 
返回值語法:
//聲明一個(gè)帶返回值的函數(shù)
function 函數(shù)名(形參1, 形參2, 形參...){
  //函數(shù)體
  return 返回值;
}

//可以通過變量來接收這個(gè)返回值
var 變量 = 函數(shù)名(實(shí)參1, 實(shí)參2, 實(shí)參3);

函數(shù)的調(diào)用結(jié)果就是返回值,因此我們可以對函數(shù)調(diào)用結(jié)果進(jìn)行操作。

返回值詳細(xì)解析:

如果函數(shù)沒有顯示的使用 return語句 ,那么函數(shù)有默認(rèn)的返回值:undefined

如果函數(shù)使用 return語句,那么跟再return后面的值,就成了函數(shù)的返回值

如果函數(shù)使用 return語句,但是return后面沒有任何值,那么函數(shù)的返回值也是:undefined

函數(shù)使用return語句后,這個(gè)函數(shù)會在執(zhí)行完 return 語句之后停止并立即退出,也就是說return后面的所有其他代碼都不會再執(zhí)行。

arguments的使用

JavaScript中,arguments對象是比較特別的一個(gè)對象,實(shí)際上是當(dāng)前函數(shù)的一個(gè)內(nèi)置屬性。也就是說所有函數(shù)都內(nèi)置了一個(gè)arguments對象,arguments對象中存儲了傳遞的所有的實(shí)參。arguments是一個(gè)偽數(shù)組,因此及可以進(jìn)行遍歷

---定義函數(shù)的時(shí)候,不知道是否傳入了參數(shù)的,沒有確定形參的個(gè)數(shù),在用戶調(diào)用函數(shù)之后傳入的實(shí)參儲存在arguments對象中,函數(shù)中通過arguments對象我們可以進(jìn)行操作

定義:

function f1() {
     //獲取的是函數(shù)在調(diào)用的時(shí)候,傳入了幾個(gè)參數(shù)
     //console.log(arguments.length);
     //使用arguments對象可以獲取傳入的每個(gè)參數(shù)的值
      console.log(arguments);
   }

實(shí)例:

function f1() {
      //arguments----->數(shù)組使用------偽數(shù)組---
      var sum=0;
      for(var i=0;i<arguments.length;i++){
        sum+=arguments[i];
      }
      return sum;
    }

    console.log(f1(10,20,30));

函數(shù)其他

匿名函數(shù):沒有名字的函數(shù)

命名函數(shù):有名字的函數(shù)

函數(shù)表達(dá)式:
var  變量=匿名函數(shù)
var f1=function (){

};
如果是函數(shù)表達(dá)式,那么此時(shí)前面的變量中存儲的就是一個(gè)函數(shù),而這個(gè)變量就相當(dāng)于是一個(gè)函數(shù),就可以直接加小括號調(diào)用了
  f1();
  函數(shù)表達(dá)式后面,賦值結(jié)束后,要加分號
 
  函數(shù)定義--函數(shù)聲明
  function 函數(shù)名(){
    函數(shù)體
  }

自調(diào)用函數(shù)(沒有名字)

匿名函數(shù)不能通過直接調(diào)用來執(zhí)行,因此可以通過匿名函數(shù)的自調(diào)用方式來執(zhí)行(聲明的同時(shí)直接調(diào)用);

(function () {
  alert(123);
})();

函數(shù)是一種數(shù)據(jù)類型

function fn() {}
console.log(typeof fn);
通過typeof 獲取函數(shù)的類型:function;

函數(shù)作為參數(shù)使用

函數(shù)可以作為參數(shù)使用,如果一個(gè)函數(shù)作為參數(shù),那么我們說這個(gè)參數(shù)(函數(shù))可以叫回調(diào)函數(shù)

只要是看到一個(gè)函數(shù)作為參數(shù)使用了,那就是回調(diào)函數(shù)

函數(shù)作為返回值使用

因?yàn)楹瘮?shù)是一種類型,所以可以把函數(shù)可以作為返回值從函數(shù)內(nèi)部返回,這種用法很常見。

function fn(b) {
  var a = 10;
  return function () {
    alert(a+b);
  }
}
fn(15)();

 

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    成人午夜视频精品一区| 美女黄片大全在线观看| 我想看亚洲一级黄色录像| 日本理论片午夜在线观看| 99久久国产亚洲综合精品| 亚洲天堂有码中文字幕视频| 日韩精品少妇人妻一区二区| 国内精品美女福利av在线| 国产精品一区二区不卡中文| 日本人妻中出在线观看| 亚洲欧美日韩中文字幕二欧美 | 久久夜色精品国产高清不卡| 91日韩欧美中文字幕| 国产男女激情在线视频| 欧美日韩三区在线观看| 狠狠做五月深爱婷婷综合| 亚洲欧洲成人精品香蕉网| 男人和女人草逼免费视频| 久久福利视频这里有精品| 97人妻精品一区二区三区免| 91在线播放在线播放观看| 空之色水之色在线播放| 国内精品偷拍视频久久| 国产亚洲视频香蕉一区| 高清不卡视频在线观看| 成年人免费看国产视频| 久久国产精品熟女一区二区三区| 出差被公高潮久久中文字幕| 国产一区二区精品丝袜| 欧美日韩国产免费看黄片| 国产在线日韩精品欧美| 精品欧美日韩一二三区| 麻豆在线观看一区二区| 国产一区在线免费国产一区| 国产色一区二区三区精品视频 | 国产美女精品人人做人人爽| 国内自拍偷拍福利视频| 91人妻丝袜一区二区三区| 亚洲欧洲成人精品香蕉网| 欧美一区二区三区性视频| 国产高清一区二区不卡|