前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,如今前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本着提高技術水平,打牢基礎知識的中心思想,咱們開課啦(每週四)。前端
先來講一下爲何這節課跳課了,不是說中間的咱們不講了,並且上節課主講人講了 18,沒辦法我這節課補一下。es6
收集上幾周的反饋,廣泛以爲內容多的超乎想象,因此以後的培訓計劃會根據內容適當調整。正則表達式
這個問題比較常見,我們也簡單說說吧。其實分爲兩種,一種行內結構,一種塊結構。segmentfault
行內結構能夠理解爲文本,文本居中能夠經過設置父元素的屬性來實現。數組
text-align: center
水平居中line-height: height;
垂直居中。行高和高設置爲同樣的值。vertical-align: middle;
垂直居中。這個屬性是用來設置對齊方式的,經過僞元素構建一個 height:100% 而後設置居中就ok了。塊結構的特色,佔滿整行,因此設置要點是設置本身的屬性來實現。2019年6月24日10:15:41-補個demo數據結構
margin: auto;
水平居中,自動分配剩餘空間,可是正常狀況下,只有水平方向有剩餘空間。position:fixed;top:0;right:0;bottom:0;left:0;
垂直水平居中,這個方法有個要點,就是定寬定高,否則就佔滿了。固然還有要 margin:auto 來分配剩餘空間才能夠。position:absolute;left:50%;margin-left:負一半寬度;top:50%;margin-top:負一半寬度
垂直水平居中,left
是基於父級來設置的,因此須要用 margin
再拉回來,也須要定寬高。position:absolute;left:50%;top:50%;transform: translate(-50%,-50%);
垂直水平居中,這個方案是上一個方案的優化版本,translate是基於本身的寬高來現實,因此能夠用 -50%
來拉回。這個東西就是說一個特殊模型,因此他自身就支持完成水平垂直居中app
vertical-align: middle;text-align:center
margin: auto;
ECMAScript 是一種由 Ecma國際(前身爲歐洲計算機制造商協會,英文名稱是 European Computer Manufacturers Association)經過 ECMA-262 標準化的腳本程序設計語言。能夠理解爲是JavaScript的一個標準,但實際上 JS 是 ECMA-262 標準的實現和擴展。async
版本 | 時間 | 簡述 |
---|---|---|
ECMAScript 1 | 1997年06月 | 首版 |
ECMAScript 2 | 1998年06月 | 格式修正,以使得其形式與ISO/IEC16262國際標準一致 |
ECMAScript 3 | 1999年12月 | 強大的正則表達式,更好的文字鏈處理,新的控制指令,異常處理,錯誤定義更加明確,數輸出的格式化及其它改變 |
ECMAScript 4 | 未完成 | 更明確的類的定義,命名空間等等。2004年6月歐洲計算機制造商協會發表了ECMA-357標準,它是ECMAScript的一個擴延,它也被稱爲E4X(ECMAScript for XML) |
ECMAScript 5 | 2009年12月 | 首版 |
ECMAScript 2015 (ES6/ES2015) | 2015年6月17日 | 截止發佈日期,JavaScript的官方名稱是ECMAScript 2015,Ecma國際意在更頻繁地發佈包含小規模增量更新的新版本,下一版本將於2016年發佈,命名爲ECMAScript 2016。從如今開始,新版本將按照ECMAScript+年份的形式發佈。 |
ECMAScript 2016 (ES7/ES2016) | 2016年 | |
ECMAScript 2017 (ES8/ES2017) | 2017年 | |
ECMAScript 2018 (ES9/ES2018) | 2018年 | |
ECMAScript 2019 | 2019年 |
這一課我真的以爲 ruanyifeng大佬的就很棒 ,這裏我先大致介紹一下,以後有時間會開單張來介紹一些常規用法。如:Array數組對象的forEach、map、filter、reduce --以前寫的一篇,這樣的章節。函數
下面的介紹不全,只是其中的一部分flex
let/var/const
的區別
關鍵字 | 綁定到頂層對象(特殊狀況) | 變量提高 | 塊級做用域(if、for) | 描述 |
---|---|---|---|---|
var | yes | yes | no | 會變量提高,可屢次賦值,無塊級概念(function、try 的塊有) |
let | no | no | yes | 只可聲明一次,可屢次賦值 |
const | no | no | yes | 只能夠賦值一次 |
字符串擴展
repeat(n)
,重複字符串多少次,padStart(n,s),padEnd(n,s)
,字符串補全長度的功能,好比前面補 0模板字符串
反引號標識標籤模板,其實也是一個偶然機會碰到這個東西的。有個prompt(1) to win,作這個題的時候發現了這種辦法。
alert`123` // 等同於 alert(123)
數值的擴展
函數的擴展
fucntion(a = 1){}
默認值解構,
// 寫法一 function m1({x = 0, y = 0} = {}) { return [x, y]; } // 寫法二 function m2({x, y} = { x: 0, y: 0 }) { return [x, y]; }
=>
函數
()=>console.log(1)
等同於 function(){return console.log(1)}
()=>{console.log(1)}
等同於 function(){console.log(1)}
數組的擴展
...[1,2,3]
分開插入,能夠用來替代 apply()
new Array(3)
的異常~indexOf
這裏記錄一下主講人文章,這周有點忙,文章補的晚了。順便補一下大哥給的目錄。