1.javascript基本說明
知識點 | 核心內容 | 重點 |
JavaScript基礎 | 控制HTML內容與屬性,實現動態行為(如開燈/關燈效果) | src屬性路徑修正(./與../的區別) |
前端三要素 | HTML(內容)、CSS(樣式)、JavaScript(行為)的定位與分工 | JavaScript的核心作用(數據驗證、交互邏輯) |
官方文檔使用 | W3C離線手冊與在線文檔的查找方法(JavaScript章節) | 快捷鍵操作(Ctrl+滾輪縮放頁面) |
開發環境配置 | IDEA工程創建與目錄結構規范(路徑斜杠問題) | 工程路徑未正確指定的常見錯誤 |
2.javascript弱類型特點
知識點 | 核心內容 | 重點 |
解釋型語言特性 | JavaScript是逐條解釋執行的腳本語言,無需編譯生成中間文件(如Java的.class文件) | 與編譯型語言(Java/C++)的執行機制差異 |
弱類型系統 | 變量數據類型可動態變化(如var name從字符串變為數值),無需顯式聲明類型 | 強類型語言(Java)開發者需適應類型靈活性 |
運行環境依賴 | 依賴瀏覽器解釋執行(如Chrome/IE),跨平臺但受環境差異影響 | 瀏覽器緩存可能導致調試結果不一致(需刷新驗證) |
代碼書寫規范 | 語句末尾分號可選(但建議統一添加),代碼可寫在<script>標簽內 | 分號省略風險(如京東等企業規范強制使用) |
類型檢測方法 | 使用typeof動態獲取變量類型(如typeof name輸出"string"或"number") | 類型隱式轉換(如123 + "ABC"拼接為字符串) |
輸出調試方式 | alert()彈窗顯示 / console.log()控制臺輸出(支持log/info/error等多級別) | 調試工具選擇(彈窗會阻塞代碼執行) |
3.js使用方式(1) 在script中寫
知識點 | 核心內容 | 重點 |
JavaScript使用方式 | script標簽嵌入JS代碼:可在head或body中嵌入,執行順序從上到下 | 執行順序與位置關系 |
代碼書寫規范 | console.log輸出語句分號可選,建議放在head部分 | 分號使用規范 |
script標簽位置 | 標準建議放在head中,但實際開發中body內也可使用 | 最佳實踐與標準差異 |
代碼執行特點 | JavaScript按書寫順序執行,與Vue等框架有相似特點 | 執行機制理解 |
4.js使用方式(2)? 在script引入js
知識點 | 核心內容 | 重點 |
JS代碼引入方式 | 通過<script>標簽的src屬性引入外部JS文件(如<script src="./js/my.js">) | 路徑格式(相對路徑./js/my.js vs 絕對路徑) |
JS代碼內嵌方式 | 直接在HTML文件中用<script>標簽編寫JS代碼(如<script>alert("你好")</script>) | Type屬性可選性(type="text/javascript"可省略) |
混用規則 | 兩種JS使用方式不可混用(僅生效先加載的代碼) | 執行順序優先級(引入文件優先于內嵌代碼) |
代碼復用技巧 | 通過引入外部JS文件實現代碼復用(類似CSS的<link>引入) | 文件命名規范(如.js后綴必須明確) |
弱類型語言特性 | JS不報錯但僅執行一種方式(體現弱類型語言的松散性) | 調試建議(避免混用以防邏輯混淆) |
5.如何在瀏覽器查看錯誤信息
知識點 | 核心內容 | 重點 |
JavaScript調試方法 | 通過瀏覽器控制臺(Ctrl+Shift+I)查看錯誤信息,定位錯誤行號及類型(如Uncaught ReferenceError) | 錯誤類型區分(語法錯誤 vs 運行時錯誤); 瀏覽器差異(火狐與谷歌控制臺界面差異) |
錯誤定位技巧 | 點擊控制臺報錯信息直接跳轉到源碼錯誤行; 關鍵快捷鍵:Ctrl+Shift+I(打開調試器) | 快速定位依賴調試器熟練度; 新手易忽略控制臺報錯行號提示 |
開發實戰建議 | 工作中需熟練掌握調試技能,避免低效排查(如逐行檢查);? | 調試效率對比: 直接定位(高效) vs 人工排查(低效) |
瀏覽器兼容性 | 火狐與谷歌瀏覽器控制臺功能對比(錯誤提示格式、定位方式一致) | 操作路徑差異: 部分瀏覽器需通過菜單進入調試模式 |
6.js變量定義的方式
知識點 | 核心內容 | 重點 |
變量基本概念 | 變量是存儲數據的容器,通過變量名訪問數據空間 | 內存位置差異(瀏覽器內核 vs JVM) |
JavaScript變量特性 | 弱類型語言: - 聲明松散(var可省略); - 動態類型轉換; - 無char類型 | 與JAVA核心差異: 1. 類型系統松散; 2. 變量聲明非強制; 3. 字符統一作字符串處理 |
變量定義格式 | var name = value 或直接 name = value | 未聲明直接賦值的隱式全局變量問題 |
類型檢測演示 | typeof 'a' 返回 string(非char) | 單一字符也視為字符串類型 |
語言范式強調 | 需跳出JAVA思維定式: - 無嚴格類型約束; - 語法規則彈性化 | 典型認知沖突點: 1. 類型系統差異; 2. 語法嚴謹度差異 |
7.js的數據類型
知識點 | 核心內容 | 重點 |
JavaScript數據類型 | 松散類型語言,主要包含:number(統一數值類型)、string、object、boolean、function | 整數/小數均歸為number(與傳統強類型語言如Java的int/float區分) |
特殊值處理 | undefined、null等需注意的默認值 | 初學者易混淆類型判定(如typeof null返回object) |
強類型與弱類型對比 | Java需嚴格聲明類型(如float/double),JavaScript僅需number | 類型隱式轉換規則是常見陷阱 |
8.js特殊值
知識點 | 核心內容 | 重點 |
JavaScript特殊值 | undefined(未賦值變量使用時的默認值) | 與Java語言的區別(Java會直接報錯) |
null(空值) | 與undefined的語義區別 | |
NaN(Not a Number) | 類型轉換失敗時的特殊返回值(如數字運算包含非數字字符) | |
教學特色 | 通過實時代碼演示講解概念 | 對比Java語言的嚴格性突出JS的松散特性 |
強調概念清晰度和實際應用場景 | typeof NaN返回值問題 | |
建議 | 需要區分三種特殊值的產生場景 | 易混淆點:null == undefined為true但null === undefined為false |
9.String的注意事項
知識點 | 核心內容 | 重點 |
字符串數據類型 | 字符串可以用雙引號或單引號括起來(如 "a book" 或 'ABC'),語法較松散 | 單/雙引號混用合法性('ABC' 和 "ABC" 均有效) |
空串與字符表示 | 空串和單字符均可使用雙引號或單引號(如 "" 或 '') | 字符與字符串的界限模糊(如 'a' 既可表示字符也可表示單字符字符串) |
運算符(未展開) | 直播中提及但未詳細講解,可能涉及基礎運算或語言特性 | 運算符優先級或特殊語法(需后續補充) |
10.js運算符(1)
知識點 | 核心內容 | 重點 |
算術運算符 | 加減乘除、求余、自增/自減(與JAVA語法一致) | 無需特別強調,基礎操作 |
賦值運算符 | =、+=、-=、*=、/=、%=(與JAVA一致) | x += y 等價于 x = x + y |
關系運算符 | ==、!=、>、<、>=、<=(常規比較) 特殊: ===(全等,要求值和類型一致) | == vs ===: - "100" == 100 → true(值相等) - "100" === 100 → false(類型不同) |
邏輯運算符 | 未展開講解,需后續補充(文中提到“要稍微強調”) | 待明確(如 &&、||、! 的短路特性) |
11.js運算符(2)
知識點 | 核心內容 | 重點 |
邏輯運算符基礎 | 介紹邏輯與(AND)、邏輯或(OR)、邏輯非(NOT)三種基本運算符 | 運算符符號表示(&&/||/!)與英文單詞對應關系 |
邏輯運算規則 | 真值表判斷:全真為真、有假則假(AND);有真則真(OR);取反(NOT) | 短路運算機制與完整運算的區別 |
JS特殊類型轉換 | 所有變量都可作為布爾值使用,零/空/null/undefined/NaN/空串自動轉為false | 非嚴格類型檢查與其他語言差異 |
短路與特性 | 全真返回末值,遇假返回首個假值 | 表達式返回值是運算值而非布爾值 |
短路或特性 | 全假返回末值,遇真返回首個真值 | 與JAVA的布爾值返回機制對比 |
實戰案例 | 演示if("老韓")、if(0)、if(NaN)等非布爾值判斷 | 類型自動轉換的實際應用場景 |
綜合練習 | 10>1 && 6<0返回false,11 || n++返回11 | 表達式執行順序與返回值關系 |
12.js運算符(3)
知識點 | 核心內容 | 重點 |
條件運算符(三元運算符) | 語法結構:條件表達式 ? 真返回值 : 假返回值,功能類似JAVA三元運算符 | 優先級需加括號(如(10>1)),返回值可為表達式(如字符串拼接或變量運算) |
條件表達式真假邏輯 | “一真大師”口訣:條件為真返回第一個值,為假返回第二個值 | 非布爾值的隱式轉換(如n2=1視為true,0/""視為false) |
JS語言特性 | 類型松散靈活,允許動態表達式(如800+n1)和變量直接參與運算 | 與JAVA強類型對比: JS無嚴格類型約束,需注意隱式類型轉換 |
運算符擴展說明 | 僅講解核心運算符(如條件運算符),其他運算符結合實際需求學習 | 前端開發重點:掌握基礎后能看懂/修改/維護代碼即可 |