摘要:我們要講什么語(yǔ)法變量類型值運(yùn)算符語(yǔ)句語(yǔ)法如果是熟悉任意一門高級(jí)編程語(yǔ)言的開(kāi)發(fā)者會(huì)發(fā)現(xiàn)的語(yǔ)法很容易掌握,因?yàn)椴罹嗖皇呛艽螅渲幸灿薪梃b的地方。對(duì)象占位符,認(rèn)為是一個(gè)空的值。
前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開(kāi)發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我們開(kāi)課啦(每周四)。
該文為前端培訓(xùn)-初級(jí)階段(13、18) (介紹了 ECMAScript 歷史,ES6 常用點(diǎn))的補(bǔ)充內(nèi)容。
本文介紹ECMAScript基礎(chǔ)知識(shí)。
我們要講什么語(yǔ)法
變量
類型、值
運(yùn)算符
語(yǔ)句
語(yǔ)法如果是熟悉任意一門高級(jí)編程語(yǔ)言的開(kāi)發(fā)者會(huì)發(fā)現(xiàn) ECMAScript 的語(yǔ)法很容易掌握,因?yàn)椴罹嗖皇呛艽螅渲幸灿薪梃b的地方。尤其是與 Java 有一些關(guān)鍵的語(yǔ)法特性相同,名字都是蹭熱度。
區(qū)分大小寫 var 與 Var 是不同的變量
變量是弱類型的 這點(diǎn)和其他語(yǔ)言有很大區(qū)別,(前端也有TS)。
結(jié)尾分號(hào)不是必須的 但是比如(()=>console.log("ln"))(),有時(shí)候容易出現(xiàn)異常錯(cuò)誤
window.a ;(v=>console.log(v))(1) window.a (v=>console.log(v))(1)
注釋
單行注釋以雙斜杠開(kāi)頭(//)
多行注釋以單斜杠和星號(hào)開(kāi)頭(/*),以星號(hào)和單斜杠結(jié)尾(*/)
括號(hào)表示代碼塊 不會(huì)生成塊級(jí)作用域(老版本)
變量命名規(guī)則
第一個(gè)字符必須是字母、下劃線(_)或美元符號(hào)($),余下的字符可以是下劃線、美元符號(hào)或任何字母或數(shù)字字符
聲明方式
var 聲明變量,變量提升
let 會(huì)生成塊級(jí)作用域
const 生成一個(gè)不可以改變的常量
類型、值
原始類型
存儲(chǔ)在棧(stack)中的簡(jiǎn)單數(shù)據(jù)段,也就是說(shuō),它們的值直接存儲(chǔ)在變量訪問(wèn)的位置。
原型類型有 Undefined、Null、Boolean、Number 和 String 。由于這些原始類型占據(jù)的空間是固定的,所以可將他們存儲(chǔ)在較小的內(nèi)存區(qū)域中(棧)。這樣存儲(chǔ)便于迅速查尋變量的值。
可以使用 typeof 來(lái)判斷是什么類型
注釋:您也許會(huì)問(wèn),為什么 typeof 運(yùn)算符對(duì)于 null 值會(huì)返回 "Object"。這實(shí)際上是 JavaScript 最初實(shí)現(xiàn)中的一個(gè)錯(cuò)誤,然后被 ECMAScript 沿用了?,F(xiàn)在,null 被認(rèn)為是對(duì)象的占位符,從而解釋了這一矛盾,但從技術(shù)上來(lái)說(shuō),它仍然是原始值。
Undefined 當(dāng)聲明的變量未初始化時(shí),或者對(duì)象中不存在的值。認(rèn)為是一個(gè)暫未賦值的值。
Null 對(duì)象占位符,認(rèn)為是一個(gè)空的值。
Boolean 布爾類型 true 和 false。
Number 可以表示 32 位的整數(shù),還可以表示 64 位的浮點(diǎn)數(shù)。對(duì)于浮點(diǎn)字面量的有趣之處在于,用它進(jìn)行計(jì)算前,真正存儲(chǔ)的是字符串。
用 64 位 IEEE 754 形式存儲(chǔ)浮點(diǎn)值,這意味著十進(jìn)制值最多可以有 17 個(gè)十進(jìn)制位。17 位之后的值將被裁去,從而造成一些小的數(shù)學(xué)誤差。
String 字符串類型
引用類型
存儲(chǔ)在堆(heap)中的對(duì)象,也就是說(shuō),存儲(chǔ)在變量處的值是一個(gè)指針(point),指向存儲(chǔ)對(duì)象的內(nèi)存處。
該類型指 Object ,當(dāng)然還有 Array,Array 也是對(duì)象的一種。
運(yùn)算符 | 優(yōu)先級(jí) | 例子 | 描述 |
---|---|---|---|
. [] () | 1 | Math.random();arr[0];(a+1)*b | 字段訪問(wèn)、數(shù)組下標(biāo)、函數(shù)調(diào)用以及表達(dá)式分組 |
++ -- + - ~ ! delete new typeof void | 2 | ++a;a++;+a;-a;~a;!a; | 一元運(yùn)算符 |
* / % | 3 | ++a;a++;+a;-a;~a;!a; | 二元運(yùn)算符,算數(shù)運(yùn)算符,乘、除、余 |
+ - | 4 | a+b;a+"";a-b | 二元運(yùn)算符,算數(shù)運(yùn)算符,加減、字符串連接 |
<< >> >>> | 5 | 2>>1 | 二元運(yùn)算符,位運(yùn)算符,位移,無(wú)符號(hào)位移 |
< <= > >= instanceof | 6 | 2>1 | 二元運(yùn)算符,比較運(yùn)算符 |
== != === !== | 7 | 2==1 | 二元運(yùn)算符,比較運(yùn)算符 |
& | 8 | 2&1 | 二元運(yùn)算符,位運(yùn)算符,按位與 |
^ | 9 | 2^1 | 二元運(yùn)算符,位運(yùn)算符,按位異或 |
1 | 10 | 211 | 二元運(yùn)算符,位運(yùn)算符,按位或 |
&& | 11 | 2&&1 | 二元運(yùn)算符,邏輯運(yùn)算符,短路 |
11 | 12 | 2111 | 二元運(yùn)算符,邏輯運(yùn)算符,短路 |
?: | 13 | `` | 三元運(yùn)算符,條件運(yùn)算符 |
= oP= | 14 | `` | 二元運(yùn)算符,賦值運(yùn)算符 |
, | 15 | `` | 逗號(hào),多重 |
語(yǔ)句 | 功能 | 示例 | 描述 |
---|---|---|---|
if | 邏輯判斷 | if(a % 2 == 0){console.log("偶數(shù)")} | 用來(lái)判斷條件成立執(zhí)行代碼 |
if(){}else{} | |||
if(){}else if(){}else{} | |||
switch(){case:break;default:break;} | 類似于if但是是單值匹配 | 找到對(duì)應(yīng)狀態(tài)執(zhí)行代碼 | |
for(初值;判斷;步長(zhǎng)){} | 循環(huán)遍歷 | for(var = 1;i < 10; i++) console.log(i) | 完成多個(gè)相同功能的任務(wù) |
while(判斷){} | 循環(huán)遍歷 | 完成多個(gè)相同功能的任務(wù) | |
do{}while(); | 循環(huán)遍歷 | 完成多個(gè)相同功能的任務(wù) |
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109270.html
摘要:我們要講什么語(yǔ)法變量類型值運(yùn)算符語(yǔ)句語(yǔ)法如果是熟悉任意一門高級(jí)編程語(yǔ)言的開(kāi)發(fā)者會(huì)發(fā)現(xiàn)的語(yǔ)法很容易掌握,因?yàn)椴罹嗖皇呛艽?,其中也有借鑒的地方。對(duì)象占位符,認(rèn)為是一個(gè)空的值。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開(kāi)發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,...
摘要:提供了與瀏覽器窗口進(jìn)行交互的對(duì)象標(biāo)簽之間不會(huì)共享。用于描述當(dāng)前瀏覽器的歷史記錄。表示窗口是否以全屏顯示。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開(kāi)發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我們開(kāi)課啦(每周四)。 前面我們已經(jīng)基本掌握常規(guī)的語(yǔ)法語(yǔ)義,以及基...
摘要:提供了與瀏覽器窗口進(jìn)行交互的對(duì)象標(biāo)簽之間不會(huì)共享。用于描述當(dāng)前瀏覽器的歷史記錄。表示窗口是否以全屏顯示。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開(kāi)發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我們開(kāi)課啦(每周四)。 前面我們已經(jīng)基本掌握常規(guī)的語(yǔ)法語(yǔ)義,以及基...
閱讀 2983·2023-04-25 19:08
閱讀 1455·2021-11-16 11:45
閱讀 2028·2021-10-13 09:40
閱讀 4206·2021-09-30 09:47
閱讀 2462·2019-08-30 15:44
閱讀 2356·2019-08-30 13:03
閱讀 1415·2019-08-30 12:56
閱讀 1921·2019-08-26 14:04