原创 js 的異步併發控制

一個極端業務場景引發的思考 在業務開發過程中,我們經常會遇到多個異步任務併發執行的情況,待所有異步任務結束之後再執行我們的業務邏輯。 通常情況下,我們會採用 ES6 標準下的Promise.all([promise1, promi

原创 JavaScript中的原型與繼承

JavaScript與傳統OO語言有所不同,那就是它並沒有類的概念。因此,JavaScript中的對象也就和基於類的語言中的對象有所不同。那麼,JavaScript中的對象是如何創建的,又是如何實現繼承的呢? 一、首先說說創建對象。其實

原创 響應式開發和標籤的前世今生

一、響應式設計 (一)、響應式設計的由來     在手機、平板這類小型化設備出現之前,是沒有響應式設計這個概念的,以前的開發者只需設計一版PC端網頁即可。後來隨着iPhone等智能設備的風潮席捲世界,移動端瀏覽器技術逐漸成熟,用戶在移動

原创 Flex彈性盒佈局

一、初識Flex佈局     2009年,W3C提出了一種新的方案——Flex佈局,可以簡便、完整、響應式地實現各種頁面佈局。目前,它已經得到了所有瀏覽器的支持,這意味着,現在就能很安全地使用這項功能。各瀏覽器支持情況如下圖: Flex

原创 JavaScript中的閉包

閉包,是ECMAScript中一個非常重要的概念。我在“ JS中的作用域鏈(scope chain)”這篇博文中已經詳細闡述了關於作用域鏈的內容。其實,作用域鏈的問題就是從閉包引出來的,之所以先說作用域鏈,是因爲我覺得如果把作用域鏈的概

原创 前端跨域解決辦法之JSONP

由於JavaScript的同源策略限制,在當前JavaScript腳本中並不能操作來自非同一域下的資源,這就使得跨域問題之於前端工程師就像彈吉他之於民謠歌手——是非常重要的基本功。 跨域問題解決辦法有很多種,比如W3C給出的CORS(Cr

原创 JavaScript中的作用域鏈(scope chain)

第一篇博客,略有手抖,不知道應該撿哪句說起。開博最重要的目的就是做一些自己的技術沉澱。之前不是不想開,是因爲確實自己確實沒有積累,即使勉強寫出點什麼,我想大抵也是東拼西湊吧,這樣不如不幹。 幹,就像個樣子。分隔符---此爲前話。 近幾日

原创 JavaScript 風格指南(1)

一、Types · 1-1 基本類型:當你使用基本類型的數據時,只關注它的值就可以了 stringnumberbooleanundefinednullconst foo = 1; let bar = foo; bar = 9; c

原创 深入剖析angular-ui-router插件

一、初識UI-Router UI-Router被認爲是AngularUI爲開發者提供的最實用的一個模塊,它是一個讓開發者能夠根據URL狀態來組織和控制界面UI的渲染,而不僅僅只改變路由(傳統AngularJS應用實用的方式)。該模塊爲開發

原创 JavaScript 風格指南(3)

-- 接 JavaScript 風格指南(2) -- 七、Functions · 7.1 使用命名函數表達式,而不是函數聲明 理由:函數聲明提升會導致在函數定義之前就已經可以引用該函數了,這會損害可讀性和可維護性。如果想要定義的

原创 利用CSS3畫三角形(另附百度筆試題)

一、原理 CSS3畫三角形的原理十分簡單,利用到的屬性無非幾種:width、height、content、border。 拿一個矩形舉例: <!DOCTYPE html> <html lang="en"> <head> <meta ch