成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JAVASCRIPT函數(shù)式編程

SunZhaopeng / 1898人閱讀

摘要:匿名函數(shù)我們將首先介紹匿名函數(shù)。通過使用匿名函數(shù),沒有必要把函數(shù)一直放在內(nèi)存中,所以使用匿名函數(shù)更加有效率。例下面兩個函數(shù)處理同樣的事情,而在給賦值結(jié)束之后一直保留但匿名函數(shù)則不會。它對事件處理程序非常有效。

1.匿名函數(shù)
我們將首先介紹匿名函數(shù)。一個匿名函數(shù)就是一個沒有名字的函數(shù)。
你可以認為他們是一次性函數(shù)。當你只需要用一次某個函數(shù)式,他們就特別有用。通過使用匿名函數(shù),沒有必要把函數(shù)一直放在內(nèi)存中,所以使用匿名函數(shù)更加有效率。

例Example:

下面兩個函數(shù)處理同樣的事情,而average在給z賦值結(jié)束之后一直保留——但匿名函數(shù)則不會。


2.函數(shù)作為值


從這里可以得出一個結(jié)論,函數(shù)是一個值就像字符串、數(shù)字或數(shù)組一樣。這還出現(xiàn)幾個問題:

我是否可以把函數(shù)作為參數(shù)傳遞?
可以,見下面的例子。
是否可以實時生成函數(shù)?
當然了,這是一個高級的主題,它可以通過eval函數(shù)來完成。
例:

這個例子演示了如何把函數(shù)作為參數(shù)傳遞。


3.兩種方式調(diào)用函數(shù)
在JavaScript中,有兩種調(diào)用函數(shù)的方式。一般的方式是把參數(shù)放在括號中,如alert(42)。另一種方式是同時把函數(shù)和參數(shù)都放在括號中,如(alert)(42)。
例:
alert(42);
(alert) (42);
(function(x) { alert(x-13); }) (55);
為什么函數(shù)兩邊的括號很重要:如果你寫了括號,那么在括號中的代碼就會被先計算。在計算之后,括號所在的地方就會有一個值。這個值可能是一個字符串、一個數(shù)字或一個函數(shù)。
4.“短路”條件調(diào)用
現(xiàn)在我們將學習如何使用“短路”條件調(diào)用。使用這個方法可以縮短源代碼同時代碼也變得更加可讀。

例:這個語法并不是用在左表達式上,而是用在右表達式上。

var f = false; var t = true;
var z;
if(f)

z = 4;

else if(t)

z = 2;

alert(z);

var f = false; var t = true;
var z = (f&&4)||(t&&2);
alert(z);
好處:
1.它有助于寫出模塊化和可服用的代碼。
2.它對事件處理程序非常有效。
3.它很有趣!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/82176.html

相關(guān)文章

  • SegmentFault 技術(shù)周刊 Vol.16 - 淺入淺出 JavaScript 函數(shù)編程

    摘要:函數(shù)式編程,一看這個詞,簡直就是學院派的典范。所以這期周刊,我們就重點引入的函數(shù)式編程,淺入淺出,一窺函數(shù)式編程的思想,可能讓你對編程語言的理解更加融會貫通一些。但從根本上來說,函數(shù)式編程就是關(guān)于如使用通用的可復用函數(shù)進行組合編程。 showImg(https://segmentfault.com/img/bVGQuc); 函數(shù)式編程(Functional Programming),一...

    csRyan 評論0 收藏0
  • 翻譯連載 | 附錄 C:函數(shù)編程函數(shù)庫-《JavaScript輕量級函數(shù)編程》 |《你不知道的J

    摘要:為了盡可能提升互通性,已經(jīng)成為函數(shù)式編程庫遵循的實際標準。與輕量級函數(shù)式編程的概念相反,它以火力全開的姿態(tài)進軍的函數(shù)式編程世界。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 關(guān)于譯者:這是一個流淌著滬江血液的純粹工程:認真,是 HTML 最堅實的梁柱;分享,是 CSS 里最閃耀的一瞥;總結(jié),...

    Miracle 評論0 收藏0
  • 每個 JavaScript 工程師都應(yīng)當知道的 10 個面試題

    摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應(yīng)用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...

    jone5679 評論0 收藏0
  • 每個 JavaScript 工程師都應(yīng)當知道的 10 個面試題

    摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應(yīng)用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...

    YorkChen 評論0 收藏0
  • 每個 JavaScript 工程師都應(yīng)當知道的 10 個面試題

    摘要:所支持的面向?qū)ο缶幊贪ㄔ屠^承。發(fā)明于年的就是首批支持函數(shù)式編程的語言之一,而演算則可以說是孕育了這門語言。即使在今天,這個家族的編程語言應(yīng)用范圍依然很廣。 1. 能說出來兩種對于 JavaScript 工程師很重要的編程范式么? JavaScript 是一門多范式(multi-paradigm)的編程語言,它既支持命令式(imperative)/面向過程(procedural)編程...

    Gilbertat 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<