欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript函數(shù)定義方法實(shí)例詳解

 更新時(shí)間:2019年03月05日 09:58:25   作者:白楊-M  
這篇文章主要介紹了JavaScript函數(shù)定義方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript函數(shù)的聲明、定義、調(diào)用等原理與常見操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript函數(shù)定義方法。分享給大家供大家參考,具體如下:

JavaScript 函數(shù)定義方法

函數(shù)聲明

在之前的教程中,你已經(jīng)了解了函數(shù)聲明的語法 :

function functionName(parameters) {
 執(zhí)行的代碼
}

函數(shù)聲明后不會立即執(zhí)行,會在我們需要的時(shí)候調(diào)用到。

function myFunction(a, b) {
  return a * b;
}

分號是用來分隔可執(zhí)行JavaScript語句。

由于函數(shù)聲明不是一個可執(zhí)行語句,所以不以分號結(jié)束。

函數(shù)表達(dá)式

JavaScript 函數(shù)可以通過一個表達(dá)式定義。

函數(shù)表達(dá)式可以存儲在變量中:

var x = function (a, b) {return a * b};

在函數(shù)表達(dá)式存儲在變量后,變量也可作為一個函數(shù)使用:

var x = function (a, b) {return a * b};
var z = x(4, 3);

以上函數(shù)實(shí)際上是一個 匿名函數(shù) (函數(shù)沒有名稱)。

函數(shù)存儲在變量中,不需要函數(shù)名稱,通常通過變量名來調(diào)用。上述函數(shù)以分號結(jié)尾,因?yàn)樗且粋€執(zhí)行語句。

盡量避免使用 new 關(guān)鍵字。

函數(shù)提升(Hoisting)

在之前的教程中我們已經(jīng)了解了 "hoisting(提升)"。

提升(Hoisting)是 JavaScript 默認(rèn)將當(dāng)前作用域提升到前面去的的行為。

提升(Hoisting)應(yīng)用在變量的聲明與函數(shù)的聲明。

因此,函數(shù)可以在聲明之前調(diào)用:

myFunction(5);
function myFunction(y) {
  return y * y;
}

使用表達(dá)式定義函數(shù)時(shí)無法提升。

自調(diào)用函數(shù)

函數(shù)表達(dá)式可以 "自調(diào)用"。

自調(diào)用表達(dá)式會自動調(diào)用。

如果表達(dá)式后面緊跟 () ,則會自動調(diào)用。

不能自調(diào)用聲明的函數(shù)。

通過添加括號,來說明它是一個函數(shù)表達(dá)式:

(function () {
  var x = "Hello!!";   // 我將調(diào)用自己
})();

以上函數(shù)實(shí)際上是一個 匿名自我調(diào)用的函數(shù) (沒有函數(shù)名)。

函數(shù)可作為一個值使用

JavaScript 函數(shù)作為一個值使用:

function myFunction(a, b) {
  return a * b;
}
var x = myFunction(4, 3);

JavaScript 函數(shù)可作為表達(dá)式使用:

function myFunction(a, b) {
  return a * b;
}
var x = myFunction(4, 3) * 2;

函數(shù)是對象

在 JavaScript 中使用 typeof 操作符判斷函數(shù)類型將返回 "function" 。

但是JavaScript 函數(shù)描述為一個對象更加準(zhǔn)確。

JavaScript 函數(shù)有 屬性方法。

arguments.length 屬性返回函數(shù)調(diào)用過程接收到的參數(shù)個數(shù):

function myFunction(a, b) {
  return arguments.length;
}

toString() 方法將函數(shù)作為一個字符串返回:

function myFunction(a, b) {
  return a * b;
}
var txt = myFunction.toString();

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Web打印解決方案之普通報(bào)表打印功能

    Web打印解決方案之普通報(bào)表打印功能

    這篇文章主要介紹了Web打印解決方案之普通報(bào)表打印功能的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • HTML+JavaScript模擬實(shí)現(xiàn)簡單的時(shí)鐘效果

    HTML+JavaScript模擬實(shí)現(xiàn)簡單的時(shí)鐘效果

    在這篇文章中,主要將向大家展示如何使用?HTML、CSS?和?JavaScript代碼制作模擬時(shí)鐘,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-08-08
  • JSON獲取屬性值方法代碼實(shí)例

    JSON獲取屬性值方法代碼實(shí)例

    這篇文章主要介紹了JSON獲取屬性值方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • javascript trim 去空格函數(shù)實(shí)現(xiàn)代碼

    javascript trim 去空格函數(shù)實(shí)現(xiàn)代碼

    去除字符串左右兩端的空格,在vbscript里面可以輕松地使用 trim、ltrim 或 rtrim,但在js中卻沒有這3個內(nèi)置方法,需要手工編寫。下面的實(shí)現(xiàn)方法是用到了正則表達(dá)式,效率不錯,并把這三個方法加入String對象的內(nèi)置方法中去。
    2008-10-10
  • prettify 代碼高亮著色器google出品

    prettify 代碼高亮著色器google出品

    prettify是Google提供的一款源代碼語法高亮著色器,它提供一種簡單的形式來著色HTML頁面上的程序代碼,最值得亮點(diǎn)的地方是不需要指明代碼的語言類型,它會自動進(jìn)行判斷。
    2010-12-12
  • 微信小程序?qū)崿F(xiàn)日歷小功能

    微信小程序?qū)崿F(xiàn)日歷小功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)日歷小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 小程序?qū)崿F(xiàn)人臉識別的項(xiàng)目實(shí)踐

    小程序?qū)崿F(xiàn)人臉識別的項(xiàng)目實(shí)踐

    人臉識別在現(xiàn)在很多地方都可以用的到,例如支付,解鎖等,本文就來介紹一下小程序?qū)崿F(xiàn)人臉識別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • uniapp封裝axios的詳細(xì)過程(大可不必那么麻煩)

    uniapp封裝axios的詳細(xì)過程(大可不必那么麻煩)

    在uniapp中使用axios進(jìn)行請求時(shí),uniapp無法使用axios的適配器,下面這篇文章主要給大家介紹了關(guān)于uniapp封裝axios的詳細(xì)過程,需要的朋友可以參考下
    2022-10-10
  • 一文帶你搞懂面試率超高的JS事件循環(huán)

    一文帶你搞懂面試率超高的JS事件循環(huán)

    事件循環(huán)是?JavaScript?中一個非常重要的概念,下面就來看看瀏覽器和?Node.js?中的事件循環(huán)的原理,以及兩者之間的差異,感興趣的可以了解一下
    2022-10-10
  • js自定義input文件上傳樣式

    js自定義input文件上傳樣式

    這篇文章主要為大家詳細(xì)介紹了js自定義input文件上傳樣式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10

最新評論