中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

做淘寶客網(wǎng)站要注意什么免費(fèi)建站免費(fèi)推廣的網(wǎng)站

做淘寶客網(wǎng)站要注意什么,免費(fèi)建站免費(fèi)推廣的網(wǎng)站,泰安明航網(wǎng)絡(luò)科技有限公司,珠海醫(yī)療網(wǎng)站建設(shè)公司theme: smartblue 題目描述 給定一個(gè)整型參數(shù) n,請(qǐng)你編寫并返回一個(gè) counter 函數(shù)。這個(gè) counter 函數(shù)最初返回 n,每次調(diào)用它時(shí)會(huì)返回前一個(gè)值加 1 的值 ( n , n 1 , n 2 ,等等)。 示例 1: 輸入: n 10 ["cal…

theme: smartblue

題目描述

給定一個(gè)整型參數(shù)?n,請(qǐng)你編寫并返回一個(gè)?counter 函數(shù)。這個(gè)?counter 函數(shù)最初返回?n,每次調(diào)用它時(shí)會(huì)返回前一個(gè)值加 1 的值 (?n?,??n + 1?,??n + 2?,等等)。

示例 1:

輸入: n = 10 ["call","call","call"] 輸出: [10,11,12] 解釋: counter() = 10 // 第一次調(diào)用 counter(),返回 n。 counter() = 11 // 返回上次調(diào)用的值加 1。 counter() = 12 // 返回上次調(diào)用的值加 1。

示例 2:

輸入: n = -2 ["call","call","call","call","call"] 輸出: [-2,-1,0,1,2] 解釋: counter() 最初返回 -2。然后在每個(gè)后續(xù)調(diào)用后增加 1。

提示:

  • -1000?<= n <= 1000
  • 0 <= calls.length <= 1000
  • calls[i] === "call"

題解

概述

這個(gè)問(wèn)題旨在介紹?閉包(closures) *?的概念。在 JavaScript 中,函數(shù)具有對(duì)在相同作用域以及任何外部作用域中聲明的所有變量的引用。這些作用域被稱為函數(shù)的?詞法環(huán)境。函數(shù)與其環(huán)境的組合被稱為?閉包*

閉包示例

在 JavaScript 中,你可以在其他函數(shù)內(nèi)部聲明并返回函數(shù)。內(nèi)部函數(shù)可以訪問(wèn)在其上方聲明的任何變量。

function createAdder(a) { return function add(b) { const sum = a + b; return sum; } } const addTo2 = createAdder(2); addTo2(5); // 7

在示例代碼中,內(nèi)部函數(shù)?add?可以訪問(wèn)?a。這允許了外部函數(shù)充當(dāng)新函數(shù)的工廠,每個(gè)函數(shù)都具有不同的行為。

閉包 VS 類

你可能會(huì)注意到,在上面的示例中,createAdder?非常類似于類構(gòu)造函數(shù)。

``` class Adder { constructor(a) { this.a = a; }

add(b) { const sum = this.a + b; return sum; } } const addTo2 = new Adder(2); addTo2.add(5); // 7 ```

除了語(yǔ)法上的差異之外,這兩個(gè)示例在本質(zhì)上具有相同的目的。它們都允許你在「構(gòu)造函數(shù)(Constructor)」中傳遞一些狀態(tài),并具有可以訪問(wèn)此狀態(tài)的「方法 (Method)」。

它們之間一個(gè)關(guān)鍵的區(qū)別是閉包允許真正的?封裝。在類的示例中,沒(méi)有任何限制阻止你編寫?addTo2.a = 3;?并破壞其預(yù)期行為。然而,在閉包的示例中,理論上無(wú)法訪問(wèn)?a。請(qǐng)注意,截至2022年,使用?# 前綴語(yǔ)法?的類仍然可以實(shí)現(xiàn)真正的封裝。

另一個(gè)區(qū)別是函數(shù)在內(nèi)存中的存儲(chǔ)方式。如果創(chuàng)建了許多類的實(shí)例,每個(gè)實(shí)例都存儲(chǔ)對(duì)?原型對(duì)象?的單一引用,其中都存儲(chǔ)了所有「方法(Method)」。而對(duì)于閉包,所有「方法(Method)」都在每次調(diào)用外部函數(shù)時(shí)生成并存儲(chǔ)了一個(gè)「副本(Copy)」。因此,在同時(shí)有多種方法可用的情況下,類可以在性能方面體現(xiàn)更高的效率。

與像 Java 這樣的語(yǔ)言不同,你會(huì)發(fā)現(xiàn)使用其他語(yǔ)言編寫的代碼通常使用函數(shù)而不是類。但由于 JavaScript 是一種多范式語(yǔ)言,代碼如何編寫取決于你正在處理的具體項(xiàng)目。

方法

現(xiàn)在讓我們討論實(shí)現(xiàn)計(jì)數(shù)器的方法。

方法 1: 先增加再返回

我們先聲明一個(gè)變量?currentCount?并將其設(shè)置為?n - 1。然后在?counter?函數(shù)內(nèi)部,增加?currentCount?并返回其值。請(qǐng)注意,由于修改了?currentCount?,應(yīng)該使用?let?而不是?const?來(lái)聲明它。

實(shí)現(xiàn):

var createCounter = function(n) { let currentCount = n - 1; return function() { currentCount += 1; return currentCount; }; };

var createCounter = function(n: number) { let currentCount = n - 1; return function() { currentCount += 1; return currentCount; }; };

方法 2: 后綴遞增語(yǔ)法

JavaScript 提供了方便的語(yǔ)法,可以先返回一個(gè)值然后遞增它。這使我們可以避免把初始值設(shè)置為?n - 1?。

代碼實(shí)現(xiàn):

var createCounter = function(n) { return function() { return n++; }; };

var createCounter = function(n: number) { return function() { return n++; }; };

方法 3: 前綴遞減和遞增語(yǔ)法

JavaScript 還有一種語(yǔ)法,允許你先遞增一個(gè)值返回它。由于遞增發(fā)生在值返回之前,因此我們必須先對(duì)初始值進(jìn)行遞減,類似于方法 1 。

代碼實(shí)現(xiàn):

var createCounter = function(n) { --n; return function() { return ++n; }; };

var createCounter = function(n: number) { --n; return function() { return ++n; }; };

方法 4: 帶箭頭函數(shù)的后綴遞增語(yǔ)法

我們可以使用帶有隱式返回的箭頭函數(shù)來(lái)減少方法 2 中的代碼量。

實(shí)現(xiàn):

var createCounter = function(n) { return () => n++; };

var createCounter = function(n: number) { return () => n++; };

這些是不同的方法來(lái)實(shí)現(xiàn)計(jì)數(shù)器,你可以根據(jù)項(xiàng)目的需要選擇其中之一。

http://www.risenshineclean.com/news/30154.html

相關(guān)文章:

  • 個(gè)人建立網(wǎng)站后怎么盈利百度最新收錄方法
  • 淳安縣千島湖建設(shè)集團(tuán)網(wǎng)站市場(chǎng)調(diào)研報(bào)告800字
  • 購(gòu)物網(wǎng)站創(chuàng)建網(wǎng)址導(dǎo)航大全
  • php網(wǎng)站開(kāi)發(fā)要學(xué)什么軟件培訓(xùn)學(xué)校招生方案范文
  • 網(wǎng)站建設(shè)所操作是什么怎樣做企業(yè)推廣
  • wordpress 獲取文章時(shí)間seo優(yōu)化培訓(xùn)機(jī)構(gòu)
  • 私活接單平臺(tái)windows優(yōu)化大師的優(yōu)點(diǎn)
  • 鄧州網(wǎng)站建設(shè)免費(fèi)廣告推廣
  • h5響應(yīng)式企業(yè)網(wǎng)站源碼百度推廣客戶端下載
  • 創(chuàng)可貼網(wǎng)站怎么做圖片大全北京網(wǎng)站優(yōu)化
  • 佛山網(wǎng)站優(yōu)化公司做百度推廣代運(yùn)營(yíng)有用嗎
  • 包裝在線設(shè)計(jì)網(wǎng)站谷歌seo靠譜嗎
  • 哈爾濱網(wǎng)站開(kāi)發(fā)培訓(xùn)seo推廣代運(yùn)營(yíng)
  • 王者榮耀網(wǎng)站建設(shè)的步驟怎么弄一個(gè)自己的網(wǎng)站
  • 上海做公益活動(dòng)有哪些好的網(wǎng)站黑帽seo是什么意思
  • 公司網(wǎng)站域名做郵箱自己做網(wǎng)站設(shè)計(jì)制作
  • 網(wǎng)站建設(shè)情況的報(bào)告國(guó)外引流推廣軟件
  • 北京h5網(wǎng)站建設(shè)報(bào)價(jià)網(wǎng)絡(luò)推廣合作協(xié)議范本
  • html入門視頻教程鄭州seo推廣優(yōu)化
  • 廈門網(wǎng)站建設(shè)培訓(xùn)百度推廣開(kāi)戶多少錢
  • 找人做網(wǎng)站需要注意什么跨境電商靠譜嗎
  • 做爰網(wǎng)站下載免費(fèi)網(wǎng)頁(yè)制作模板
  • 如何說(shuō)服老板做網(wǎng)站營(yíng)銷策劃書案例
  • app軟件設(shè)計(jì)鄭州seo排名優(yōu)化公司
  • 遵義公司網(wǎng)站制作哪家好百度推廣登錄首頁(yè)網(wǎng)址
  • 如何將網(wǎng)站指向404微信5000人接推廣費(fèi)用
  • 網(wǎng)站如何做促銷活動(dòng)推廣引流話術(shù)
  • 山東網(wǎng)站建設(shè)公司武漢做seo公司
  • 網(wǎng)站建設(shè)歸工商局管還是工信局管查關(guān)鍵詞排名軟件
  • 代做網(wǎng)站排名谷歌優(yōu)化推廣