1. 程式人生 > 其它 >JavaScript——函式_P2函式引數函式呼叫

JavaScript——函式_P2函式引數函式呼叫

技術標籤:JavaScriptjavascriptjs

2.函式引數

2.1 函式引數

eg:基本例項:
function fn(param1,param2,param3){}

函式引數(parameter)指的是在函式定義中列出的名稱
函式引數(argument)指的是傳遞到函式或由函式接收到的真實值

2.2 引數規則

JavaScript函式定義不會為引數(parameter)規定資料型別
JavaScript函式不會對所傳遞的引數(argument)實行型別檢查
JavaScript函式不會檢查所接收引數(argument)的數量

如果引數傳遞小於定義的數量時,從前向後賦值,未被賦值的引數值為undefined

function fn1(a,b,c){
    console.log(a,b,c)
}
fn1(1)    // 1 undefined undefined

也可以對定義的引數設定預設值

function fn1(a=0,b=0,c=0){
    console.log(a,b,c)
}
fn1(1)		//  1 0 0

2.3 arguments物件

JavaScript函式有一個名為arguments的內建物件。
arguments物件包含函式呼叫時使用的引數陣列。

        function fn1(a = 0, b = 0, c = 0) {
            let sum=0
            for(let i = 0;i<arguments.length;i++){
                sum+=arguments[i]
            }
            console.log(sum)
        }
        fn1(2,2,3,8)			// 15

2.4 函式呼叫

在函式被定義時,函式內部的程式碼不會執行。
在函式被呼叫時,函式內部的程式碼會被執行。
呼叫函式通常也可以說"啟動函式"或”執行函式“。

function myFn(a,b){
	return a * b;
}
myFn(3,6)   // 18

在JavaScript中,使用存在一種預設的全域性物件。
在HTML中,預設全域性物件時HTML頁面本身,所有上面的函式”屬於“HTML頁面。
在瀏覽器中,這個頁面物件就是瀏覽器視窗。上面的函式自動成為一個視窗函式。myFn()與window.myFn()是同一個函式
Tip:全域性變數、方法或函式很容易在全域性物件中產生命名衝突和漏洞。

2.5 this

在JavaScript中,被稱為“this”的事物,指的是擁有當前程式碼的物件。
this的值,在函式中使用時,是擁有該函式的物件。
this不是變數,是關鍵詞,無法改變this的值

當不帶擁有者物件呼叫物件時,this的值為全域性物件。
在web瀏覽器中,全域性物件就是瀏覽器物件。