目錄
- JavaScript 函式
- 函式概念
- 函式的使用
- 函式的使用
- 函式的封裝
- 函式的引數
- 形參和實參
- 形參和實參個數不匹配問題
- 1.return回傳值
- 2.return終止函式
- 3.return只能回傳一個值
- 4.想要回傳多個值時,可以回傳成陣列
- 5.函式如果有return則回傳return后面的值,沒有則回傳undefined
- arguments的使用
- 函式間的呼叫
- 函式的兩種宣告方式
JavaScript 函式
函式概念
函式:就是封裝了一段可以被重復執行呼叫的代碼塊,目的就是讓大量的代碼重復使用
函式的使用
函式的使用
分兩步:宣告函式和呼叫函式
//1.宣告函式
//function 函式名() {
//函式體
//}
function sayHi(){
console.log('hi~~');
}
//function 宣告函式的關鍵字 全部小寫
//函式是做某件事情,函式名一般是動詞 sayHi
//2.呼叫函式
sayHi();
//呼叫函式的時候千萬不要忘記加小括號
//函式不呼叫,自己不執行
函式的封裝
函式的封裝是把一個或者多個功能通過函式的方式封裝起來,對外只提供一個簡單的函式介面
函式的引數
形參和實參
//function 函式名(形參1,形參2){// 在宣告函式的小括號里面是 形參 (形式上的引數)
//}
//函式名(實參1,實參2);// 在函式呼叫的小括號里面是實參(實際的函式)
function cook(aru){// 形參是接受實參的 aru = '西紅柿炒雞蛋' 形參類似于一個變數
console.log(aru);
}
cook('西紅柿炒雞蛋');
cook('小雞燉蘑菇');
//函式的引數可以有,也可以沒有,個數不限
形參和實參個數不匹配問題
## 函式的回傳值
1.return回傳值
//function 函式名(){
// return 需要回傳的結果;
//}
//函式名();
function getMax(num1, num2){
if(num1 > num2){
return num1;
}else{
return num2;
}
}
console.log(getMax(9, 2));
2.return終止函式
function getSum(num1, num2) {
return num1 + num2;// return 后面的代碼不會被執行
alert('我是不會被執行的哦!');
}
consolse.log(getSum(1,2));
3.return只能回傳一個值
function fn(num1, num2){
return num1, num2;// 回傳的結果是最后一個值
}
console.log(fn(1,2));
4.想要回傳多個值時,可以回傳成陣列
//求任意兩個數加減乘除結果
function getResult(num1, num2){
return[num1 + num2, num1 - num2, num1 * num2, num1 / num2 ];
}
var re = getResult(1,2);//回傳的是一個陣列
console.log(re);
5.函式如果有return則回傳return后面的值,沒有則回傳undefined
function fun1(){
return 666;
}
console.log(fun1());// 回傳666
function fun2 (){
}
console.log(fun2());//函式回傳結果是undefined
arguments的使用
當不確定有多少個引數傳遞的時候,可以用arguments來獲取,在JavaScript中,arguments實際上它是當前函式的一個內置物件,所有函式都內置了一個arguments物件,arguments物件中存盤了傳遞的所有實參,
arguments的使用:只有函式才有arguments物件,而且每個函式都內置好了這個arguments
arguments展示形式是一個偽陣列,因此可以進行遍歷,偽陣列特點:
- 具有length屬性
- 按索引方式存盤資料
- 不具有陣列的push,pop等方法
function fn(){
console.log(arguments);
}
fn(1,2,3);
//利用函式求任意個數的值
function getMax(){
var max = arguments[0];
for(var i = 1; i < arguments.length; i++){
if(arguments[i] > max){
max = arguments[i];
}
}
return max;
}
console.log(getMax(1,2,3));
console.log(getMax(11,222,34,999));
console.log(getMax(100,79,34,563,12,87));
//3
//999
///563
函式間的呼叫
//函式是可以相互呼叫的
function fn1(){
console.log(11);
fn2;// 在fn1 函式里面呼叫了fn2 函式
}
fn1();
function fn2(){
console.log(22);
}
// 11 22
//用戶輸入年份,輸出當前年份2月份的天數
function backDay(){
var year = prompt('請輸入年份:');
if(isRunYear(year)){//呼叫函式需要加小括號
alert('當前年份是閏年2月份有29天');
}else{
alert('當前年份是平年2月份有28天');
}
}
backDay(2000);
//利用函式判斷閏年
function isRunYear(nianfen){
//如果是閏年我們回傳true,否則回傳 false
var flag = false;
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
flag = true;
}
return flag;
}
函式的兩種宣告方式
1.利用函式關鍵字自定義函式(命名函式)
function fn(){
}
fn();
2.函式運算式(匿名函式)
//var 變數名 = function(){};
var fun = funcction(aru){
console.log('我是函式運算式');
console.log(aru;)
}
fun('你好啊');
//1.fun是變數名,不是函式名
//2.函式運算式宣告方式跟宣告變數差不多,只不過變數里面存的是值,而函式運算式里面存的是函式
//3.函式運算式也可以進行傳遞引數
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/503477.html
標籤:其他
下一篇:1HTML5--擁抱未來
