前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,如今前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本着提高技術水平,打牢基礎知識的中心思想,咱們開課啦(每週四)。javascript
該文爲前端培訓-初級階段(1三、18) (介紹了 ECMAScript 歷史,ES6 經常使用點)的補充內容。前端
本文介紹ECMAScript基礎知識。java
若是是熟悉任意一門高級編程語言的開發者會發現 ECMAScript 的語法很容易掌握,由於差距不是很大,其中也有借鑑的地方。尤爲是與 Java 有一些關鍵的語法特性相同,名字都是蹭熱度。編程
var
與 Var
是不一樣的變量結尾分號不是必須的 可是好比(()=>console.log('ln'))(),有時候容易出現異常錯誤segmentfault
window.a ;(v=>console.log(v))(1) window.a (v=>console.log(v))(1)
註釋數組
//
)/*
),以星號和單斜槓結尾(*/
)聲明方式dom
原始類型
存儲在棧(stack)中的簡單數據段,也就是說,它們的值直接存儲在變量訪問的位置。
原型類型有 Undefined、Null、Boolean、Number 和 String 。因爲這些原始類型佔據的空間是固定的,因此可將他們存儲在較小的內存區域中(棧)。這樣存儲便於迅速查尋變量的值。
可使用 typeof
來判斷是什麼類型
編程語言
註釋:您也許會問,爲何 typeof 運算符對於 null 值會返回 "Object"。這其實是 JavaScript 最初實現中的一個錯誤,而後被 ECMAScript 沿用了。如今,null 被認爲是對象的佔位符,從而解釋了這一矛盾,但從技術上來講,它仍然是原始值。
Number 能夠表示 32 位的整數,還能夠表示 64 位的浮點數。對於浮點字面量的有趣之處在於,用它進行計算前,真正存儲的是字符串。函數
用 64 位 IEEE 754 形式存儲浮點值,這意味着十進制值最多能夠有 17 個十進制位。17 位以後的值將被裁去,從而形成一些小的數學偏差。
運算符 | 優先級 | 例子 | 描述 |
---|---|---|---|
. [] () |
1 | Math.random();arr[0];(a+1)*b |
字段訪問、數組下標、函數調用以及表達式分組 |
++ -- + - ~ ! delete new typeof void |
2 | ++a;a++;+a;-a;~a;!a; |
一元運算符 |
* / % |
3 | ++a;a++;+a;-a;~a;!a; |
二元運算符,算數運算符,乘、除、餘 |
+ - |
4 | a+b;a+'';a-b |
二元運算符,算數運算符,加減、字符串鏈接 |
<< >> >>> |
5 | 2>>1 |
二元運算符,位運算符,位移,無符號位移 |
< <= > >= instanceof |
6 | 2>1 |
二元運算符,比較運算符 |
== != === !== |
7 | 2==1 |
二元運算符,比較運算符 |
& |
8 | 2&1 |
二元運算符,位運算符,按位與 |
^ |
9 | 2^1 |
二元運算符,位運算符,按位異或 |
1 |
10 | 211 |
二元運算符,位運算符,按位或 |
&& |
11 | 2&&1 |
二元運算符,邏輯運算符,短路 |
11 |
12 | 2111 |
二元運算符,邏輯運算符,短路 |
?: |
13 | `` | 三元運算符,條件運算符 |
= oP= |
14 | `` | 二元運算符,賦值運算符 |
, |
15 | `` | 逗號,多重 |
語句 | 功能 | 示例 | 描述 |
---|---|---|---|
if | 邏輯判斷 | if(a % 2 == 0){console.log('偶數')} | 用來判斷條件成立執行代碼 |
if(){}else{} | |||
if(){}else if(){}else{} | |||
switch(){case:break;default:break;} | 相似於if可是是單值匹配 | 找到對應狀態執行代碼 | |
for(初值;判斷;步長){} | 循環遍歷 | for(var = 1;i < 10; i++) console.log(i) | 完成多個相同功能的任務 |
while(判斷){} | 循環遍歷 | 完成多個相同功能的任務 | |
do{}while(); | 循環遍歷 | 完成多個相同功能的任務 |