无遮挡18禁啪啪免费观看 I 秋霞成人av I brandilove欧美三区 I 激情偷乱人伦小说视频 I 人人插人人艹 I www.亚洲com I 波多野结衣av高清一区二区三区 I 精品无码国产污污污免费网站 I 美女张开腿给男人桶爽久久 I 国产精品久久久久久久免费 I 国内精品久久99 I 亚洲精品无码专区 I 亚洲免费视频一区二区 I 午夜xxx I 国产一区啪啪 I 丝袜激情网 I 日韩精品久久久久久久 I 欧美香蕉视频 I 成人片免费看 I 天天色综合2 I 寡妇被老头舔到高潮的视频 I 亚洲第一页在线 I 国产放荡av国产精品 I 在线精品视频一区二区 I 免费黄色片在线观看 I 秋霞伊人网 I www.伊人 I 久草在线91 I 女人啪啪免费av大片 I 欧美一区二区综合 I 精品久久久久久天美传媒 I 黄色工厂在线观看 I 91精品国产色综合 I 动漫美女被到爽 I 丁香午夜激情

首頁

能用HTML/CSS解決的問題就不要使用JS

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

為什么說能使用html/css解決的問題就不要使用JS呢?兩個(gè)字,因?yàn)楹唵巍:唵尉鸵馕吨斓拈_發(fā)速度,更小的維護(hù)成本,同時(shí)往往具有更好的體驗(yàn),下面介紹幾個(gè)實(shí)例。

1. 導(dǎo)航高亮

導(dǎo)航高亮是一種很常見的問題,包括當(dāng)前頁面的導(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í)候,它需要一些空間讓它來存儲本地變量(local variables)。我們將這些空間稱為作用域?qū)ο螅⊿cope object),有時(shí)候也稱作LexicalEnvironment。例如,當(dāng)你調(diào)用函數(shù)時(shí),函數(shù)定義了一些本地變量,這些變量就被存儲在一個(gè)作用域?qū)ο笾小D憧梢詫⒆饔糜蚝瘮?shù)想象成一個(gè)普通的JavaScript對象,但是有一個(gè)很大的區(qū)別就是你不能夠直接在JavaScript當(dāng)中直接獲取這個(gè)對象。你只可以修改這個(gè)對象的屬性,但是你不能夠獲取這個(gè)對象的引用。

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

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

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

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

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

我們可以看出,遞歸就是在函數(shù)內(nèi)部調(diào)用對自身的調(diào)用。 那么問題來了,我們知道在Javascript中,有一類函數(shù)叫做匿名函數(shù),沒有名稱,怎么調(diào)用呢?當(dāng)然你可以說,可以把匿名函數(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ì)的小編

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

1.png

 

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

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

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

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

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

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

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

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

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

了解HTML/HTML5中的download屬性

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

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

首先看下面這種截圖

1.png

 

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

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

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

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

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

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

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

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

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

臺灣設(shè)計(jì)師!為什么我不推薦敏捷開發(fā)?

高勁

dont-recommend-agile-development-1

@Akane_Lee :當(dāng)項(xiàng)目成員越多,我越不推薦敏捷開發(fā),原因在于「當(dāng)連自己要做什么事、為什么這樣做、這樣做為了解決什么問題」都搞不清楚前,就跳下去玩敏捷開發(fā),那和比通靈還慘,通靈起碼還有個(gè)目標(biāo)物在前面,搞不清楚狀況的人只能陪他跳世界迷霧開地圖了 >>>

日歷

鏈接

個(gè)人資料

存檔