js基礎函式(下)(小白自用5)
儲存對程式碼的熱愛,並儲存懷疑態度
入口 - 引數
- 實參
- 形參
- 型別
- 數量關係
- 數量一致時:從左向右一一對應
- 實參多:無法通過形參拿到多出來的實參,但是可以通過arguments拿到所有實參
- 形參多:多出來的形參為undefined
function fn(a){ // 形參
console.log(a);
}
fn(1) //實參
一. arguments
- 函式內部有一個隱藏物件,用來接收所有實參
- 類陣列(偽陣列)
- 具有的索引和長度的概念,但是不能使用陣列的某些操作
- 利用陣列的索引和長度配合迴圈,獲取arguments中儲存的實參
- 計算機中的索引從0開始
- 應用場景:當函式的實參個數不確定時,可以使用arguments找到所有實參
function fn(a){ // 形參
console.log(arguments); //全部引數 ,得到時一個陣列 ,要想取得每個值可以用迴圈遍歷出來
//if.html:57 Arguments(10) [1, 2, 3, 4, 5, 5, 6, 3, 4, 2]
for(var i=0;i<arguments.length;i++){ //遍歷的是arguments的長度
console.log(arguments[i]) //取出每個值
}
}
fn(1,2,3,4,5,5,6,3,4,2) //實參
二. 出口 - 返回值
- 關鍵字:return
- 語法:return 要返回的資料或變數
- return,不僅可以返回資料,還會終止當前函式
- 所以,一個函式,只能執行一次return
- 一個return後只能跟一個資料
- 返回值的應用場景:
- 用來處理資料的函式,需要有返回值,返回處理之後的資料
- 實現功能的函式,沒有必要有返回值,但是可以寫
- 沒有return的函式,會返回undefined
- 可以返回所有型別的值
function fn(a){ // 形參
console.log(arguments); //全部引數 ,得到時一個陣列 ,要想取得每個值可以用迴圈遍歷出來
//if.html:57 Arguments(10) [1, 2, 3, 4, 5, 5, 6, 3, 4, 2, callee: ƒ, Symbol(Symbol.iterator): ƒ]
var j=[] //用來儲存arguments的值
for(var i=0;i<arguments.length;i++){ //遍歷的是arguments的長度
j+=arguments[i] //取出每個值
}
return j;
}
console.log(fn(1,2,3,4,5,5,6,3,4,2) ) //實參 返回到執行函式身上了,也就是這個
三、作用域
- 變數生效的區域
- 全域性作用域,內的變數,叫全域性變數
- 不屬於任何一個函式的區域
- 區域性作用域,內的變數,叫區域性變數
- 某個函式內部的區域
- 區域性作用域可以使用全域性作用域的變數或資料(子可以拿父)
- 全域性作用域不能使用區域性作用域的變數或資料(父不能拿子)
- 全域性變數的生命週期
- 隨著程式的啟動被建立,程式完全結束後,才會被刪除
- 相對區域性來說,比較佔空間
- 區域性變數的生命週期
- 隨著作用域的開啟被建立,作用域的結束被刪除
- 儘量少用全域性
- 可以利用匿名函式生成獨立作用域,在匿名函式內再寫其他功能
(function(){
var i=0; //匿名函式會立即執行
})()
五、js的編譯和執行
- 提升
- var宣告的變數會自動提前到作用域開始的位置,執行
- 原位賦值
- function宣告的函式,會整體提升到作用域開始的位置
- 當前作用域只要定義了函式,無論位置,都能執行
- 當var遇到function
- 賦值式建立函式
- var的變數和function的函式名重名
- var宣告的變數會自動提前到作用域開始的位置,執行
相關文章
- R視覺化:plot函式基礎操作,小白教程視覺化函式
- 函式基礎函式
- JS 基礎篇(七):JS中的遍歷函式JS函式
- JAVA基礎之5-函式式介面的實現Java函式
- 函式基礎和函式引數函式
- Python基礎-函式Python函式
- python函式基礎Python函式
- Go基礎-字串函式Go字串函式
- python基礎函式Python函式
- 前端基礎(三):函式前端函式
- javascript基礎(函式)(十四)JavaScript函式
- SQL 基礎-->常用函式SQL函式
- JavaScript函式及基礎JavaScript函式
- 函式指標基礎函式指標
- golang函式使用基礎Golang函式
- 豬行天下之Python基礎——5.2 函式(下)Python函式
- JS基礎-函式、物件和原型、原型鏈的關係JS函式物件原型
- 問一個很基礎小白的問題,類與函式的關係。RT函式
- PHP 函式基礎鞏固PHP函式
- PHP->GO 基礎-函式PHPGo函式
- Python基礎(六) 函式Python函式
- Python基礎(10):函式Python函式
- python-函式基礎Python函式
- SQL語言基礎(函式)SQL函式
- 回顧JavaScript基礎——函式JavaScript函式
- python基礎之函式Python函式
- Kotlin基礎之函式Kotlin函式
- 《MySQL 基礎篇》五:函式MySql函式
- C語言基礎函式C語言函式
- 高速介面自用筆記:GT基礎(二)筆記
- JS基礎難點總結(函式作用域,變數提升,物件,建構函式,this)全!!!JS函式變數物件
- Python基礎入門(5)- 函式的定義與使用Python函式
- 【重溫基礎】JS中的常用高階函式介紹JS函式
- JS基礎:正規表示式JS
- python基礎 filter, lambda 函式表示式PythonFilter函式
- python基礎--函式全解析Python函式
- python基礎7 - 函式2Python函式
- NumPy 基礎 (三) - 數學函式函式