日本十八禁免费看污网站_久久久综合九色合综_新无码h肉动漫在线观看_国产极品粉嫩在线播放 久久久久久人妻无码_又嫩又硬又黄又爽的视频_亚洲AV无码久久_糖心VLOG精品一区二区

首頁(yè)

選擇 Reac??tJS 的五大理由

藍(lán)藍(lán)設(shè)計(jì)的小編

ReactJS是一個(gè)開源的JavaScript庫(kù),并且由Facebook和Instagram這樣的頂尖IT企業(yè)以及開發(fā)者社區(qū)所維護(hù)。該框架廣泛使用于為web應(yīng)用程序開發(fā)用戶界面的時(shí)候。這個(gè)特殊的框架被發(fā)明時(shí)帶有這樣一個(gè)目的:

“構(gòu)建數(shù)據(jù)隨著時(shí)間的推移一次又一次改變的大型應(yīng)用程序?!?

我們經(jīng)常使用的工具有很多,但只有少數(shù)徹底改變了我們的工作流程。ReactJS就是其中之一。隨著現(xiàn)在可用框架變得越來(lái)越多,我們很難找到一個(gè)最終不會(huì)窮途末路的框架。這就是為什么在ValueCoders我們建議去往React。

01.png

能用HTML/CSS解決的問(wèn)題就不要使用JS

藍(lán)藍(lán)設(shè)計(jì)的小編

為什么說(shuō)能使用html/css解決的問(wèn)題就不要使用JS呢??jī)蓚€(gè)字,因?yàn)楹?jiǎn)單。簡(jiǎn)單就意味著更快的開發(fā)速度,更小的維護(hù)成本,同時(shí)往往具有更好的體驗(yàn),下面介紹幾個(gè)實(shí)例。

1. 導(dǎo)航高亮

導(dǎo)航高亮是一種很常見(jiàn)的問(wèn)題,包括當(dāng)前頁(yè)面的導(dǎo)航在菜單里面高亮和hover時(shí)高亮。你可以用js控制,但是用一點(diǎn)CSS技巧就可以達(dá)到這個(gè)目的,不需要使用JS。

1.png

2.png

在正常態(tài)時(shí),每個(gè)導(dǎo)航的默認(rèn)樣式為:

JavaScript 閉包的底層運(yùn)行機(jī)制

藍(lán)藍(lán)設(shè)計(jì)的小編

當(dāng)JavaScript在運(yùn)行的時(shí)候,它需要一些空間讓它來(lái)存儲(chǔ)本地變量(local variables)。我們將這些空間稱為作用域?qū)ο螅⊿cope object),有時(shí)候也稱作LexicalEnvironment。例如,當(dāng)你調(diào)用函數(shù)時(shí),函數(shù)定義了一些本地變量,這些變量就被存儲(chǔ)在一個(gè)作用域?qū)ο笾小D憧梢詫⒆饔糜蚝瘮?shù)想象成一個(gè)普通的JavaScript對(duì)象,但是有一個(gè)很大的區(qū)別就是你不能夠直接在JavaScript當(dāng)中直接獲取這個(gè)對(duì)象。你只可以修改這個(gè)對(duì)象的屬性,但是你不能夠獲取這個(gè)對(duì)象的引用。

作用域?qū)ο蟮母拍钍沟肑avaScript和C、C++非常不同。在C、C++中,本地變量被保存在棧(stack)中。在JavaScript中,作用域?qū)ο笫窃诙阎斜粍?chuàng)建的(至少表現(xiàn)出來(lái)的行為是這樣的),所以在函數(shù)返回后它們也還是能夠被訪問(wèn)到而不被銷毀。

JavaScript 中匿名函數(shù)的遞歸調(diào)用

藍(lán)藍(lán)設(shè)計(jì)的小編

不管是什么編程語(yǔ)言,相信稍微寫過(guò)幾行代碼的同學(xué),對(duì)遞歸都不會(huì)陌生。 以一個(gè)簡(jiǎn)單的階乘計(jì)算為例:

function factorial(n) { if (n <= 1) { return 1;
    } else { return n * factorial(n-1);
    }
}

我們可以看出,遞歸就是在函數(shù)內(nèi)部調(diào)用對(duì)自身的調(diào)用。 那么問(wèn)題來(lái)了,我們知道在Javascript中,有一類函數(shù)叫做匿名函數(shù),沒(méi)有名稱,怎么調(diào)用呢?當(dāng)然你可以說(shuō),可以把匿名函數(shù)賦值給一個(gè)常量:

const factorial = function(n){ if (n <= 1) { return 1;
    } else { return n * factorial(n-1);
    }
}

技術(shù)的執(zhí)念

藍(lán)藍(lán)設(shè)計(jì)的小編

只需稍加留意,我們就會(huì)發(fā)現(xiàn)自己被各種技術(shù)、工具包圍。ThoughtWorks的技術(shù)雷達(dá)差不多每半年就會(huì)更新一次,在項(xiàng)目中更會(huì)遇到很多已經(jīng)從技術(shù)雷達(dá)上消失的技術(shù),項(xiàng)目上的舊技術(shù)/舊框架還在服役,新的技術(shù)/工具/語(yǔ)言/框架又在迅速的出現(xiàn),有些曇花一現(xiàn)、迅速被新的后來(lái)者所取代。有的留下來(lái)了,不過(guò)也都在不斷的演化、改變(不兼容的API,不同的版本等隨處可見(jiàn))。

1.png

 

JavaScript 事件對(duì)內(nèi)存和性能的影響

藍(lán)藍(lán)設(shè)計(jì)的小編

雖說(shuō)事件處理程序可以為現(xiàn)代 Web 頁(yè)面添加很強(qiáng)的交互能力,但是不分青紅皂白就添加大量的事件處理程序絕對(duì)是一種愚蠢的行為。

我們來(lái)分析一下:事件處理程序本質(zhì)上是一種函數(shù),是一種對(duì)象,存放在內(nèi)存中,設(shè)置大量的事件處理程序會(huì)使內(nèi)存中的對(duì)象變多,Web 程序的性能會(huì)變得越來(lái)越差,用戶體驗(yàn)很不好。

為了更好地利用好事件處理程序,便出現(xiàn)了事件委托,用來(lái)提升性能。

JavaScript 中的面向?qū)ο缶幊?/a>

藍(lán)藍(lán)設(shè)計(jì)的小編

JavaScript 是一個(gè)強(qiáng)大的面向?qū)ο缶幊陶Z(yǔ)言,但是,并不像傳統(tǒng)的編程語(yǔ)言,它采用一個(gè)以原型為基礎(chǔ)的OOP模型,致使它的語(yǔ)法讓大多數(shù)開發(fā)人員看不懂。另外,JavaScript 也把函數(shù)作為首要的對(duì)象,這可能會(huì)給不夠熟悉這門語(yǔ)言的開發(fā)人員造成更大的困惑。那就是我們決定放在前面作為一個(gè)簡(jiǎn)短前言進(jìn)行介紹的原因,并且在 JavaScript 里也可以用作面向?qū)ο缶幊痰囊粋€(gè)參考。

這個(gè)文檔沒(méi)有提供一個(gè)面向?qū)ο缶幊痰囊?guī)則預(yù)覽,但有它們的接口概述。

了解HTML/HTML5中的download屬性

藍(lán)藍(lán)設(shè)計(jì)的小編

一、download屬性是個(gè)什么鬼?

首先看下面這種截圖

1.png

 

如果我們想實(shí)現(xiàn)點(diǎn)擊上面的下載按鈕下載一張圖片,你會(huì)如何實(shí)現(xiàn)?

我們可能會(huì)想到一個(gè)最簡(jiǎn)單的方法,就是直接按鈕a標(biāo)簽鏈接一張圖片,類似下面這樣:

<a href="large.jpg">下載</a>

但是,想法雖好,實(shí)際效果卻不是我們想要的,因?yàn)闉g覽器可以直接瀏覽圖片,因此,我們點(diǎn)擊下面的“下載”鏈接,并是不下載圖片,而是在新窗口直接瀏覽圖片。

騰訊干貨!從四個(gè)方面幫你做好移動(dòng)頁(yè)面性能優(yōu)化

用心設(shè)計(jì)

隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,我們?cè)桨l(fā)要關(guān)注移動(dòng)頁(yè)面的性能優(yōu)化,今天跟大家談?wù)勥@方面的事情。

首先,為什么要最移動(dòng)頁(yè)面進(jìn)行優(yōu)化?

縱觀目前移動(dòng)網(wǎng)絡(luò)的現(xiàn)狀:

日歷

鏈接

個(gè)人資料

存檔