JavaScript——函式_P2函式引數函式呼叫
阿新 • • 發佈:2020-12-29
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瀏覽器中,全域性物件就是瀏覽器物件。