//1.函數(shù)的聲明
//function 函數(shù)名(參數(shù)列表){函數(shù)體}
//a.function - 關(guān)鍵字
//b.函數(shù)名 - 駝峰式;見名知義
//c.參數(shù):參數(shù)可以有默認(rèn)值,有默認(rèn)值的參數(shù)要寫在后面。調(diào)用函數(shù)傳參的時候,是按實參的位置來傳參。
// 保證每個參數(shù)都有值
//d.函數(shù)體: 實現(xiàn)函數(shù)的功能。只有在調(diào)用的時候才執(zhí)行
function sum1(num2, num1=1){
console.log('求兩個數(shù)的和')
return num1 + num2
}
console.log(sum1(10,20))
console.log(sum1(10))
//console.log(9/0)
//函數(shù)沒有return的時候,函數(shù)的返回值是undefined
function func1(){
console.log('我是函數(shù)1')
}
console.log(func1())
//2.函數(shù)的調(diào)用
//函數(shù)名(實參列表)
//調(diào)用過程和python一樣
//3.作用域
//全局變量:聲明在函數(shù)外面的變量(從變量聲明到文件結(jié)束)
//局部變量:聲明在函數(shù)里面的變量 (從變量聲明到函數(shù)結(jié)束;函數(shù)的參數(shù)也是局部變量)
//aaa就是全局變量
var aaa = 10
function func2(){
//bbb就是局部變量
var bbb = 100
console.log(bbb, aaa)
//函數(shù)中可以修改全局變量的值
aaa = 200
//函數(shù)中可以聲明函數(shù)
function func22(){
bbb = 1.1
console.log(bbb)
}
}
func2()
//console.log(bbb)
console.log(aaa)
//可以將函數(shù)作為變量
var a = func2
a()
//個數(shù)不定參數(shù),js不支持