javascript函數(shù)基礎(chǔ)

什么是函數(shù)

  • 函數(shù)是可重復(fù)執(zhí)行的代碼塊,為了完成特定的功能。

為什么使用函數(shù)

  • 因為一部分代碼使用次數(shù)或許很多,封裝起來,使用時調(diào)用即可。
tips:寫任何代碼,考慮是否某些功能是需要封裝的,或是以前封裝好的。

面向?qū)ο缶幊淌且环N編程思想,其特點:封裝、繼承、多態(tài)。

參數(shù)

  • 參數(shù)是參與運算的變量,為了增強函數(shù)的功能性、和程序員的交互性、和函數(shù)的可擴展性。

  • 參數(shù)分為形參和實參。

形參:形式上參與運算的變量,無實際的值。為實參占位置(可以理解為函數(shù)內(nèi)部的變量,函數(shù)外部無法訪問)。

實參:實際參與運算的變量,形參為他占位置,真是參與運算的變量。

tips:

1、把函數(shù)定義時候的參數(shù)成為形參,把調(diào)用時候傳遞的參數(shù)稱為實參;
2、實參比形參多,多余的實參被函數(shù)忽略掉不影響函數(shù)執(zhí)行;
3、實參比形參少,沒有被傳遞進來的形參的值,在函數(shù)內(nèi)表現(xiàn)為undefined;

返回值

函數(shù)程序運行后的結(jié)果,外部需要使用的時候,我們不能拿到,需要用到rutern返回運行后的結(jié)果;
函數(shù)內(nèi)部rutern返回的值就是返回值;
值得注意的是:函數(shù)使用rutern語句后,其函數(shù)會在執(zhí)行完rutern語句后停止并立即退出,也就是說rutern后面的其他代碼不會再執(zhí)行;

函數(shù)名、函數(shù)體和函數(shù)加載問題

函數(shù)名是什么
函數(shù)名 == 整個函數(shù)
function fn(){};
console.log(fn) == console.log(function fn(){});

函數(shù)的定義
具名函數(shù): function a(){};
匿名函數(shù):var a = function(){};

變量和作用域

  • 變量分為:全局變量和局部變量。

全局變量:又可叫做成員變量,指哪里都能訪問到的變量;

局部變量:函數(shù)內(nèi)部的變量,只有函數(shù)內(nèi)部可以訪問到;

  • 變量提升
    JavaScript的函數(shù)作用是指在函數(shù)內(nèi)聲明的所有變量在函數(shù)體內(nèi)始終是有定義的,也就是說變量在聲明之前已經(jīng)可用,所有這特性稱為聲明提前(hoisting)

var scope = 'global';
function f(){
    console.log(scope);    
    var scope = 'local';
    console.log(scope);
}
// 以上代碼在js進行解析的時候會變成以下代碼
        function f(){
            var scope;
                        console.log(scope);
            scope = 'local';
            console.log(scope);
        }
        f();

  • 函數(shù)聲明提升

var getName = function(){
    console.log(2);
}
function getName (){
    console.log(1);
}
getName();

總結(jié):

  • 函數(shù)不調(diào)用不執(zhí)行;

  • 函數(shù)名就等于整個函數(shù);

  • 參數(shù)相當(dāng)于局部變量;

  • 就近原則使用變量;

  • 兩個平級的函數(shù)中的變量不會相互影響(可以使用同樣的形參名);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.1 函數(shù)的創(chuàng)建和結(jié)構(gòu) 函數(shù)的定義:函數(shù)是JavaScript的基礎(chǔ)模塊單元,包含一組語句,用于代碼復(fù)用、信息...
    文頂頂閱讀 569評論 0 6
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,546評論 0 13
  • 函數(shù)和對象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,944評論 0 5
  • --- 學(xué)習(xí)目標(biāo): - 掌握編程的基本思維 - 掌握編程的基本語法 typora-copy-images-to: ...
    YFBigHeart閱讀 1,120評論 0 2
  • 與你深情,點到為止 三月一過,風(fēng)過草莽林間,北京刮起了漫天的楊絮,一到這個季節(jié)就過敏鼻塞,一直想寫點什么應(yīng)...
    shin家文閱讀 235評論 0 0

友情鏈接更多精彩內(nèi)容