JavaScript--總結三(數組和函數)

數組

數組的概念:

將多個元素(一般是同一類型)按照必定順序排列放到一個集合中,這個集合稱之爲數組---簡(一組有序的數據)數組

數組的做用:能夠一次性存儲多個數據

數組的定義:

1.經過構造函數建立數組

語法:函數

var 數組名=new Array();
var array=new Array();//定義了一個數組
  var arr1=new Array();//構造函數的方式---空數組
  var arr2=new Array(5);//構造函數的方式定義了一個數組,數組中有5個元素,數組長度是5,每一個數據是undefined
  var arr3=new Array(10,20,1000,40,50,60);構造函數的方式定義了一個數組,而且有多個數據(這裏是6個數組)
 
  總結點:當括號中是一個數時,表明數組的長度;當括號多個值時,表明的是每一個具體的數據值;


數組的名字若是直接輸出,那麼直接就能夠把數組中的數據顯示出來,若是沒有數據就看不到數據;spa

2.經過字面量的方式建立數組

語法:code

 var 數組名=[];//空數組
 var array=[];
var 數組名=[值1,值2,值3];
不管是構造函數的方式仍是字面量的方式,定義的數組,若是有長度,那麼默認是undefined

數組的長度:就是數組中的元素個數--能夠經過length來獲取數組的長度對象

// 建立一個空數組
var arr1 = []; 
// 建立一個包含3個數值的數組,多個數組項以逗號隔開
var arr2 = [1, 3, 4]; 
// 建立一個包含2個字符串的數組
var arr3 = ['a', 'c']; 

// 能夠經過數組的length屬性獲取數組的長度
console.log(arr3.length);
// 能夠設置length屬性改變數組中元素的個數
arr3.length = 0;

數組的索引(下標):從0開始,到數組的長度減1結束blog

能夠經過索引來獲取/設置/增長數組元素索引

// 格式:數組名[下標]    下標又稱索引
// 功能:獲取數組對應下標的那個值,若是下標不存在,則返回undefined。
var arr = ['red',, 'green', 'blue'];
arr[0];    // red
arr[2]; // blue
arr[3]; // 這個數組的最大下標爲2,所以返回undefined

  // 格式:數組名[下標/索引] = 值;
  // 若是下標有對應的值,會把原來的值覆蓋,若是下標不存在,會給數組新增一個元素。
  var arr = ["red", "green", "blue"];
  // 把red替換成了yellow
  arr[0] = "yellow";
  // 給數組新增長了一個pink的值
  arr[3] = "pink";ip

經過下標設置數組的元素值: 數組名[索引]=值
經過下標訪問數組的元素值: 數組名[索引]
數組中元素的值的類型能夠不同
數組的長度是能夠被改變的

數組遍歷

遍歷:遍佈全部,對數組的每個元素都訪問一次叫遍歷開發

數組遍歷的基本語法:字符串

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

 

函數

把一段相對獨立的具備特定功能的代碼塊封裝起來,造成一個獨立實體,就是函數,起個名字(函數名),在後續開發中能夠反覆調用

函數的做用:代碼的重複使用

函數的定義

1.函數聲明

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

函數聲明的時候,函數體並不會執行,只要當函數被調用的時候纔會執行

2.函數表達式

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

函數的調用:

函數名();

函數體只有在調用的時候纔會執行,調用須要()進行調用。

能夠調用屢次(重複使用)

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

函數參數:

在函數定義的時候,函數名字後面的小括號裏的變量就是參數,目的是函數在調用的時候,用戶傳進來的值操做,此時函數定義的時候後面的小括號裏的變量就叫參數;寫倆個變量就有倆個參數(寫多少表明有多少個);

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

函數內部是一個封閉的環境,能夠經過參數的方式,把外部的值傳遞給函數內部
帶參數的函數聲明
function 函數名(形參1, 形參2, 形參...){
  // 函數體
}
帶參數的函數調用
函數名(實參1, 實參2, 實參3);

形參:在聲明函數的時候,爲了函數的功能更加靈活,有些值固定不了,對於這些固定不了的值,咱們能夠給函數設置參數,這個參數沒有具體的值,僅僅起到一個佔位置的做用

實參:若是函數在聲明時,設置了形參,那麼在函數調用時就須要傳入對應的參數(實參能夠是變量也能夠是值)

函數的返回值

當函數執行完的時候,並非全部時候都須要把結果打印出來;咱們須要函數給咱們一些反饋(好比計算的結果返回進行後續的運算),這個時候可讓函數返回一些東西,也就是返回值。函數經過return返回一個返回值。

在函數內部有return關鍵字,而且在關鍵字後面有內容,這個內容被返回了
當函數調用以後,須要這個返回值,那麼就定義變量接收,便可
 
返回值語法:
//聲明一個帶返回值的函數
function 函數名(形參1, 形參2, 形參...){
  //函數體
  return 返回值;
}

//能夠經過變量來接收這個返回值
var 變量 = 函數名(實參1, 實參2, 實參3);

函數的調用結果就是返回值,所以咱們能夠對函數調用結果進行操做。

返回值詳細解析:

若是函數沒有顯示的使用 return語句 ,那麼函數有默認的返回值:undefined

若是函數使用 return語句,那麼跟再return後面的值,就成了函數的返回值

若是函數使用 return語句,可是return後面沒有任何值,那麼函數的返回值也是:undefined

函數使用return語句後,這個函數會在執行完 return 語句以後中止並當即退出,也就是說return後面的全部其餘代碼都不會再執行。

arguments的使用

JavaScript中,arguments對象是比較特別的一個對象,其實是當前函數的一個內置屬性。也就是說全部函數都內置了一個arguments對象,arguments對象中存儲了傳遞的全部的實參。arguments是一個僞數組,所以及能夠進行遍歷

---定義函數的時候,不知道是否傳入了參數的,沒有肯定形參的個數,在用戶調用函數以後傳入的實參儲存在arguments對象中,函數中經過arguments對象咱們能夠進行操做

定義:

function f1() {
     //獲取的是函數在調用的時候,傳入了幾個參數
     //console.log(arguments.length);
     //使用arguments對象能夠獲取傳入的每一個參數的值
      console.log(arguments);
   }

實例:

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

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

函數其餘

匿名函數:沒有名字的函數

命名函數:有名字的函數

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

};
若是是函數表達式,那麼此時前面的變量中存儲的就是一個函數,而這個變量就至關因而一個函數,就能夠直接加小括號調用了
  f1();
  函數表達式後面,賦值結束後,要加分號
 
  函數定義--函數聲明
  function 函數名(){
    函數體
  }

自調用函數(沒有名字)

匿名函數不能經過直接調用來執行,所以能夠經過匿名函數的自調用方式來執行(聲明的同時直接調用);

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

函數是一種數據類型

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

函數做爲參數使用

函數能夠做爲參數使用,若是一個函數做爲參數,那麼咱們說這個參數(函數)能夠叫回調函數

只要是看到一個函數做爲參數使用了,那就是回調函數

函數做爲返回值使用

由於函數是一種類型,因此能夠把函數能夠做爲返回值從函數內部返回,這種用法很常見。

function fn(b) {
  var a = 10;
  return function () {
    alert(a+b);
  }
}
fn(15)();
相關文章
相關標籤/搜索