js基礎知識大綱

js中基礎知識大綱灿里,了解記憶,總會有用到的地方

?了解重要的歷史節(jié)點

+ 重點掌握WEB1.0~WEB3.0的進化史

? ? + 動態(tài)頁面

? ? + 前后端分離

? ? + WebApp(NativeApp)

? ? + 全棧開發(fā)

? ? + 前端需要掌握的技術棧

? ?+ ECMAScript3 / ECMAScript5 / ECMAScript6(每年6月份在版本6的基礎上繼續(xù)完善一版ES7~9)

瀏覽器內核分類

+ webkit

+ gecko

+ trident

+ blink

+ ...

JS三部分

+ ECMAScript 語法規(guī)范

+ DOM

+ BOM

變量和變量定義

+ 變量就是起了一個名字袄琳,用來存儲(指向)或者代表某個值的(它是一個虛的東西,值才是實在的東西)

+ 命名規(guī)范

? ? + 嚴格區(qū)分大小寫

? ? + 駝峰命名法

? ? + 基于“_科平、$新思、數(shù)字、字母” 命名猪叙,但是數(shù)字不能作為開頭

? ? + 不能使用關鍵字和保留字

?定義變量的幾種方式? **(重點)

+var

+let

+const定義的變量娇斩,變量指向不能隨意被更改(理解為定義的是常量)

+function

+class

+import

JS中的數(shù)據(jù)類型 **(重要哦)

+ 基本數(shù)據(jù)類型(值類型 / 原始值)

+number

+string

+boolean

+null

+undefined

? ? + symbol

? ? + bigint

+ 引用數(shù)據(jù)類型

? ? + 對象數(shù)據(jù)類型

? ? ? ? + {} 普通對象

? ? ? ? + [] 數(shù)組對象

+/^$/正則對象

? ? ? ? + 日期對象

+Math數(shù)學函數(shù)對象

? ? ? ? + ...

? ? + 函數(shù)數(shù)據(jù)類型

數(shù)據(jù)類型的檢測

typeof

+ 語法 =>typeof[value]

+ 返回值首先是字符串仁卷,其次包含對應的類型 =>typeoftypeof[] ==="string"

+typeofnull==="object"

+ 數(shù)組、正則犬第、普通對象的最后檢測結果都是"object"锦积,所以基于此操作,無法細分對象

+instanceof

+constructor

+ Object.prototype.toString.call()

數(shù)字類型詳解 **

+NaN和isNaN

+typeofNaN==="number"

+NaN!==NaN

+ 基于isNaN檢測值是否為有效數(shù)字(檢測的值不是數(shù)字類型歉嗓,需要默認基于Number()把其轉換為數(shù)字類型丰介,然后再檢測)

+ 把其它數(shù)據(jù)類型轉換為數(shù)字類型

+Number([value])

+ 字符串轉換為數(shù)字:空字符串是0,字符串中只要出現(xiàn)任意一個非有效數(shù)字字符鉴分,結果都是NaN

+ 布爾轉換為數(shù)字:true是1false是0

+null變?yōu)閿?shù)字0

+undefined變?yōu)閿?shù)字NaN

? ? ? ? + symbol不能轉換為數(shù)字哮幢,否則會報錯

? ? ? ? + 對象(或者函數(shù))轉換為數(shù)字:首先都是調用toString先轉換且字符串,然后再轉換為數(shù)字

+ 普通對象轉換為字符串結果都是"[object Object]"

? ? ? ? ? ? + 數(shù)組對象轉換為字符串結果是:用逗號分隔數(shù)組中的每一項?

+ [] ->''(空數(shù)組轉為空字符串)

+ [10] ->'10'(數(shù)字第一步都先轉化為字符串)

+ [10,20] ->'10,20'

? ? ? ? ? ? + 正則或者函數(shù)轉換為字符串和原始看到的內容類似

+parseInt([value]) /parseFloat([value])

? ? ? ? + 首先把[value]值變?yōu)樽址菊洌浯螐淖址钭髠乳_始找橙垢,把找到的有效數(shù)字字符轉換為數(shù)字,遇到一個非有效數(shù)字字符則結束查找(不論右側是否還有數(shù)字伦糯,都不在查找了)

+Number(true) ->1

+parseInt(true) ->NaN

+Number('12px') ->NaN

+parseInt('12px') ->12

+ 一些常用的屬性方法

? ? + 數(shù)字.toFixed(N)? 保留小數(shù)點N位柜某,返回結果是一個字符串

+Infinity無窮大

? ? + ...

字符串類型詳解 **

+ 把其它數(shù)據(jù)類型轉換為字符串

? ? + String([value])

? ? + [value].toString()

+ 加號在JS中除了數(shù)學運算,還有字符串拼接

? ? + 減乘除和取余都一定是數(shù)學運算(不是數(shù)字類型要轉換為數(shù)字類型敛纲,然后再運算)

? ? + 加號兩邊的任意一邊出現(xiàn)字符串喂击,則為字符串拼接(如果加的是一個對象,其實最后也是字符串拼接淤翔,因為對象轉換為數(shù)字翰绊,是先轉換為字符串的)

+1+'1'==='11'

+1+ ['10] ===110'

+ 基于ES6中的模板字符串(反引號 或者叫 兩個撇)可以方便字符串拼接

```

//=> ${} 就是把一個變量的值或者一個JS表達式運行的結果,拼接到模板字符串中

letn=10;

letstr=`N的值是:${n}`;

```

布爾類型詳解 **

+ 把其它數(shù)據(jù)類型轉換為布爾類型

+ 規(guī)律:只有“0办铡、NaN辞做、null琳要、undefined寡具、空字符串”五個值最后變?yōu)镕ALSE,其余都會轉換為TRUE

+ Boolean([value])

+ ![value] 轉換為布爾再取反

+ !![value] 轉換為布爾

+----

? ? + 在條件判斷中稚补,最后的結果都是轉換為布爾

? ? + ...

對象數(shù)據(jù)類型詳解 **

+ 對象的組成:零到多組鍵值對組成的(key:value / 屬性名:屬性值)童叠,每一組之間用逗號分隔

+ 關于對象鍵值對的操作(增刪改查)

? ? + 對象的屬性名不能重復

? ? + 對象.屬性名? => 這樣操作屬性名不能是數(shù)字

+ 對象[屬性名]? => obj['n']和obj[n]是不一樣的,前者屬性名就是n课幕,候著是把n變量存儲的值作為屬性名拿過來操作的(假設n是100厦坛,此時相當于obj[100])

基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的區(qū)別?*(很重要)

-數(shù)據(jù)檢測內容?

+ 堆內存(HEAP)和棧內存(STACK)

+ 棧內存

? ? + ECStack 執(zhí)行環(huán)境棧

+ EC(G)全局執(zhí)行上下文

+ VO(G)全局變量對象

+ let a =12

+ 創(chuàng)建12這個值,存放到棧內存中(棧內存是用來執(zhí)行代碼和存儲基本類型值的)

+ 創(chuàng)建變量a存儲到 VO(G)

+ 最后讓a指向12這個值 (=賦值的意思就是值的指向)

+ 堆內存

+ let obj = {xxx:'xxx'}

? ? ? ? + 創(chuàng)建對象值(引用數(shù)據(jù)類型不能直接存儲到棧內存中)

+ 創(chuàng)建一個堆內存乍惊,有一個16進制地址(AAAFFF000)

? ? ? ? ? ? + 把對象中的鍵值對存儲到堆中

? ? ? ? ? ? + 把堆內存的地址存放到棧內存中杜秸,供變量指向

+ 創(chuàng)建變量obj,存儲到VO(G)

+ 讓obj指向堆內存的地址 AAAFFF000

? ? + 后期obj.xxx的所有操作润绎,都是先基于地址找到堆內存撬碟,從而來操作堆內存中的內容

DOM的一些操作 **

+ document.getElementById

+ document.body

? ? + JS中獲取的元素都是對象數(shù)據(jù)類型的(有自己對應的堆內存诞挨,堆內存中存儲著很多內置的屬性和方法,這些屬性方法就是用來操作DOM元素的)

? ? ? ? + id

? ? ? ? + className

? ? ? ? + tagName

? ? ? ? + innerHTML

? ? ? ? + innerText

? ? ? ? + style = 對象? 操作當前元素的“行內”樣式

? ? ? ? + onclick

? ? ? ? + ...

+ context.getElementsByTagName

? ? + 獲取到的是一個“類數(shù)組”元素集合 HTMLCollection

? ? + 操作起來和數(shù)組類似(基于索引獲取某一項以及循環(huán)操作等)

JS中常用的操作語句 **

+ 判斷語句

+if呢蛤、elseif惶傻、else

? ? + 三元運算符

? ? ? ? + 語法? 條件?成立:不成立;

+ 基于null/undefined占位

? ? ? ? + 多個事情基于括號包起來,逗號分隔

? ? ? ? + 三元嵌套

+switchcase

+ 每一種case都是===判斷

? ? ? ? + == 和 === 的區(qū)別

+ 循環(huán)語句

+for循環(huán):指定循環(huán)次數(shù)或者遍歷數(shù)組

? ? ? ? + 四步操作

+break

+continue

+forin循環(huán):變量對象中的鍵值對的

? ? ? ? + 優(yōu)先按照從小到大遍歷數(shù)字屬性

? ? + ...

JS中常用的輸出方式

+ console

+.log

+.dir

+.table

+.time/.timeEnd

+.warn

? ? + ...

+ 瀏覽器彈出窗口(輸出的結果都會變?yōu)樽址?/p>

? ? + alert

? ? + confirm

? ? + prompt

+ 向頁面中輸出內容的(輸出的結果都會變?yōu)樽址?/p>

+ document.write

+ 元素.innerHTML

+ 元素.innerText

? ? + ...

函數(shù)(function)

一個處理事情的方法其障,例如:洗衣機就是一個函數(shù)

1.生產洗衣機

把洗衣服的操作的集成在一起

相當于一個函數(shù):函數(shù)的目的就是把實現(xiàn)一個功能的代碼進行封裝银室,以后再想實現(xiàn)這個功能,我們只需要執(zhí)行方法即可励翼,無需再把代碼寫一遍 => “低耦合蜈敢、高內聚”:減少頁面中的冗余代碼,提高代碼的重復使用率

2.讓洗衣機運行

執(zhí)行函數(shù)

函數(shù)兩部分:定義函數(shù)汽抚、執(zhí)行函數(shù)(光定義函數(shù)是沒有用的扶认,只有把函數(shù)執(zhí)行,才能起到對應的作用)


沒有學不會的東西只要你肯努力

-----------------------------------------------------------------------------------努力成為:前端晨

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末殊橙,一起剝皮案震驚了整個濱河市辐宾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膨蛮,老刑警劉巖叠纹,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異敞葛,居然都是意外死亡誉察,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門惹谐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來持偏,“玉大人,你說我怎么就攤上這事氨肌『韪眩” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵怎囚,是天一觀的道長卿叽。 經常有香客問我,道長恳守,這世上最難降的妖魔是什么考婴? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮催烘,結果婚禮上沥阱,老公的妹妹穿的比我還像新娘。我一直安慰自己伊群,他們只是感情好考杉,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布屁使。 她就那樣靜靜地躺著,像睡著了一般奔则。 火紅的嫁衣襯著肌膚如雪蛮寂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天易茬,我揣著相機與錄音酬蹋,去河邊找鬼。 笑死抽莱,一個胖子當著我的面吹牛范抓,可吹牛的內容都是我干的。 我是一名探鬼主播食铐,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼象泵!你這毒婦竟也來了斟叼?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤忽孽,失蹤者是張志新(化名)和其女友劉穎谢床,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體出革,經...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蹋盆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年硝全,在試婚紗的時候發(fā)現(xiàn)自己被綠了楞抡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡凳厢,死狀恐怖,靈堂內的尸體忽然破棺而出治泥,到底是詐尸還是另有隱情遮精,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布准脂,位于F島的核電站,受9級特大地震影響檬洞,放射性物質發(fā)生泄漏狸膏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一湾戳、第九天 我趴在偏房一處隱蔽的房頂上張望广料。 院中可真熱鬧,春花似錦拦止、人聲如沸糜颠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽元旬。三九已至匀归,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間穆端,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工攒巍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柒莉。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓兢孝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卷玉。 傳聞我的和親對象是個殘疾皇子喷市,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容