函數(shù)是由事件驅(qū)動的或者當(dāng)它被調(diào)用時執(zhí)行的可重復(fù)使用的代碼塊
1中剩,函數(shù)的基本結(jié)構(gòu)
function 函數(shù)名(形參){
? 代碼塊
}
函數(shù)名()抒寂;? ? ? ? ? 調(diào)用
函數(shù)名(實(shí)參);? 傳參
******調(diào)用與傳參都不是必須的******
2郊愧,作用
*封裝一個功能塊
******
3井佑,使用
? // 函數(shù):1.聲明 2.調(diào)用
? // 聲明函數(shù) 關(guān)鍵字(function) 函數(shù)名(參數(shù)列表){代碼段}
? // 封裝在函數(shù)中的代碼,不會自動執(zhí)行
? /*
? ? 1>.不帶參數(shù)
? ? 2>.帶參數(shù)
? ? 3>.不帶參數(shù),有返回值
? ? 2>.帶參數(shù),有返回值
? */
? /*
? ? 1.函數(shù)中需要返回值,使用return
? ? 2.函數(shù)內(nèi)部返回的是什么,在外部調(diào)用的時候,接受的就是什么;
? ? 3.return 之后的代碼不會在執(zhí)行(一般return關(guān)鍵詞放在對應(yīng)的方法最底部)
? ? 4.函數(shù)返回值的作用:將對應(yīng)函數(shù)內(nèi)部操作結(jié)果進(jìn)行返回
? */
? // 1.沒有參數(shù)值
? function message() {
? ? // 代碼段
? ? console.log('我輸出了!');
? }
? // 函數(shù)調(diào)用: 函數(shù)名()
? message();
? // 2.有參數(shù)的函數(shù)(可以有多參數(shù))
? // 形參 (聲明的參數(shù)變量)
? // 實(shí)參 (調(diào)用時傳入的實(shí)際值)
? /*
? function msg(形參) {
? }
? msg(實(shí)參)
*/
? // 可以有多個變量, 但是調(diào)用時候, 可以不全部傳入
? function message1(a, b) {
? ? console.log(a, b);
? }
? // message1('2333','hello');
? // message1(66666);
? // 3.有返回值函數(shù)
? // var a = 10;
? // var b = 20;
? // var sum = a + b;
? // var c = 30;
? // var d = 40;
? // var s = c + d;
? // 函數(shù)會形成 塊級作用域
? function sum() {
? ? var a = 20;
? ? var b = 30;
? ? alert(1);
? ? // return 停止的是整個程序
? ? return a + b;
? ? alert(2)
? }
? // 有返回值,需要接收
? // var res = sum();
? // alert(res);
? // 有參數(shù),又有返回值
? function sum1(a, b) {
? ? return a + b;
? }
? // alert(sum1(30, 60));
? // alert(sum1(20, 60));
? // 匿名函數(shù)
? var fn = function() {
? ? alert(2333);
? }
? console.log(fn);
? // fn();
? // 自執(zhí)行函數(shù) (立即執(zhí)行函數(shù))
? // 避免全局污染
? // (function() {
? //? alert('自執(zhí)行函數(shù)');
? // })();
? // (function() {
? //? alert('8888');
? // }());