陣列
陣列的概念:
將多個元素(通常是同一型別)按照一定順序排列放到一個集合中,這個集合稱之為陣列---簡(一組有序的資料)
陣列的作用:可以一次性存盤多個資料
陣列的定義:
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個陣列) 總結點:當括號中是一個數時,代表陣列的長度;當括號多個值時,代表的是每個具體的資料值;
陣列的名字如果直接輸出,那么直接就可以把陣列中的資料顯示出來,如果沒有資料就看不到資料;
2.通過字面量的方式創建陣列
語法:
var 陣列名=[];//空陣列 var array=[];無論是建構式的方式還是字面量的方式,定義的陣列,如果有長度,那么默認是undefined
var 陣列名=[值1,值2,值3];
陣列的長度:就是陣列中的元素個數--可以通過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結束
可以通過索引來獲取/設定/增加陣列元素
// 格式:陣列名[下標] 下標又稱索引 // 功能:獲取陣列對應下標的那個值,如果下標不存在,則回傳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";
陣列遍歷
遍歷:遍及所有,對陣列的每一個元素都訪問一次叫遍歷
陣列遍歷的基本語法:
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)();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/243805.html
標籤:其他
上一篇:JS面試題總結
下一篇:JavaScript設計模式
