學習日記-JS+DOM-day54-9.12

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無嚴格類型約束,需注意隱式類型轉換

運算符擴展說明

僅講解核心運算符(如條件運算符),其他運算符結合實際需求學習

前端開發重點:掌握基礎后能看懂/修改/維護代碼即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96425.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96425.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96425.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用tree命令導出文件夾/文件的目錄樹( Windows 和 macOS)

你可以在終端&#xff08;命令提示符&#xff09;中使用 tree 命令來清晰直觀地查看和導出文件夾的目錄結構。下面我會詳細告訴你如何在 Windows 和 macOS 上使用它。 &#x1f5a5;? tree 命令基本用法 tree 命令的核心作用是以樹狀圖的形式展示指定路徑下的目錄和文件結構。…

GrapeCity Documents V8.0 Update2 重磅發布:性能飛躍、AI 賦能與文檔處理全流程升級

作為葡萄城旗下服務端文檔組件庫&#xff0c;GrapeCity Documents&#xff08;簡稱"GcDocs"&#xff09;憑借跨平臺、高兼容的優勢&#xff0c;已成為 眾多開發者構建文檔生成、編輯、轉換與管理系統的首選。 近日&#xff0c;GcDocs 迎來 V8.0 Update2 版本更新&am…

水質在線監測系統御控物聯網解決方案

一、行業背景與需求痛點水質安全是飲用水供應、工業生產、生態保護的核心要素。隨著《水污染防治行動計劃》的深入實施&#xff0c;傳統水質監測方式面臨三大挑戰&#xff1a;時效性不足&#xff1a;人工采樣-實驗室分析周期長達24-72小時&#xff0c;難以實時捕捉污染事件&…

【完整源碼+數據集+部署教程】倉庫物品分類檢測圖像分割系統源碼和數據集:改進yolo11-convnextv2

背景意義 研究背景與意義 隨著現代物流和倉儲管理的快速發展&#xff0c;物品分類與檢測技術在提高倉庫運營效率、降低人工成本方面發揮著越來越重要的作用。傳統的物品管理方式往往依賴人工識別和分類&#xff0c;效率低下且容易出錯。為了解決這一問題&#xff0c;基于計算機…

瀏覽器穩定性提升之路:線上崩潰率優化中的 Return 與 CHECK 之爭

一、前言在大型 C 工程&#xff08;例如 Chrome 瀏覽器內核&#xff09;中&#xff0c;開發者經常會遇到這樣的選擇&#xff1a; 到底應該在關鍵點使用 CHECK 直接崩潰&#xff0c;還是使用 return、LOG 記錄錯誤然后繼續執行&#xff1f;這看似只是一個代碼風格問題&#xff0…

【數據結構與算法Trip第3站】雙指針

我們來詳細講解一下算法中非常常用且重要的技巧——雙指針法。 這是一個概念清晰但應用極其廣泛的技術&#xff0c;掌握它能幫助你高效解決許多問題。 一、什么是雙指針法&#xff1f; 核心思想&#xff1a;顧名思義&#xff0c;就是在遍歷對象&#xff08;通常是數組或鏈表&am…

時序數據庫選型指南:基于大數據視角的IoTDB應用優勢分析詳解!

目錄 一、時序數據庫選型的基本原則 1.1 數據特征與需求分析 1.1.1 數據規模與寫入負載 1.1.2 查詢需求 1.1.3 數據保留與歸檔策略 1.1.4 系統擴展性與高可用性 1.2 技術架構與系統性能評估 1.2.1 寫入性能 1.2.2 查詢性能 1.2.3 數據壓縮能力 1.2.4 高可用性與災備…

緩存三大劫攻防戰:穿透、擊穿、雪崩的Java實戰防御體系(三)

第三部分&#xff1a;緩存雪崩——大量key失效引發的“系統性崩潰” 緩存雪崩的本質是“大量緩存key在同一時間失效&#xff0c;或緩存集群整體故障”&#xff0c;導致請求全量穿透至DB&#xff0c;引發“系統性崩潰”。 案例4&#xff1a;電商首頁的“批量過期”災難 故障現場…

解決docker配置了鏡像源但還會拉取官方鏡像源的問題

&#x1f3d3;我們有時候雖然配置了Docker國內鏡像源&#xff0c;但是還是會繞過去請求官方鏡像源&#xff08;docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded&#xff09;&#xff0c;現在我們就來解決一…

R語言水文、水環境模型優化:從最速上升法、嶺分析到貝葉斯優化與異方差處理,涵蓋采樣設計、代理模型與快速率定等

在水利工程、環境治理、生態保護、機械設計與航天航空等現代工業與科學領域&#xff0c;數學模型已成為不可或缺的核心分析、預測與決策工具。然而&#xff0c;隨著系統復雜性的日益增長&#xff0c;模型構建的精確性、參數率定的效率以及不確定性量化的重要性被提到了前所未有…

關于數據采集與處理心得(一)

目前所實踐的經驗告知我&#xff01;1. 別企圖妄想一個腳本解決所有問題要學會對問題分解&#xff0c;編寫多個腳本一步步將問題解決&#xff0c;如果每一個步驟都為了下一個階段的成果打地基&#xff0c;也是非常OK的。同時要盡可能將每一個編寫的腳本都盡到最大的利用率2. 編…

IvorySQL 適配 LoongArch? 龍架構

IvorySQL 社區很高興向您宣布&#xff0c;IvorySQL 已成功適配LoongArch 龍架構&#xff0c;為國產數據庫與國產芯片的深度融合邁出了堅實一步。這一里程碑標志著 IvorySQL 在推動國產化生態建設、賦能信創產業方面取得了重大突破&#xff0c;為用戶提供更高效、穩定、安全的數…

數據庫分庫分表是考慮ShardingSphere 還是Mycat?

http://www.mycat.org.cn/ https://shardingsphere.apache.org/ 這是一個非常核心且優秀的問題。在選擇 ShardingSphere 和 Mycat 之間&#xff0c;對于游戲這種高性能、高復雜度的場景&#xff0c;目前行業內的主流選擇和發展趨勢毫無疑問是 ShardingSphere。 我會為你詳細對…

mysql分庫分表數據量核查問題

場景&#xff1a; 使用分庫分表的業務有時分庫數量幾百甚至上千&#xff0c;當主管需要查詢每個庫中的數據&#xff0c;掌握數據分布情況。要你查看哪些庫中的表數量大于某個量級的給找出來 &#xff0c;你會怎么做。 例子 &#xff1a; mysql庫數量&#xff1a;db_xx_devicein…

python之socket網絡編程

引言 在互聯網時代&#xff0c;網絡編程已經成為開發人員必備的技能之一。無論是Web開發、實時通信還是分布式計算&#xff0c;都離不開網絡編程的支持。Python提供的socket模塊為我們提供了簡潔而強大的接口&#xff0c;可以輕松實現客戶端和服務器之間的通信。 Socket編程是網…

WPF Telerik.Windows.Controls.Data.PropertyGrid 自定義屬性編輯器

1.AI幫忙定義新用戶控件 2.在屬性上添加TelerikEditorAttribute特性 private ObservableCollection<string> _axisOrder;[Display(Description "點位", GroupName "通用", Name "軸&順序", Order 1)][DataMember][TelerikEditorAt…

【超詳細】別再看零散的教程了!一篇搞定Gitee從注冊、配置到代碼上傳與管理(內含避坑指南最佳實踐)

&#x1f525;個人主頁&#xff1a;艾莉絲努力練劍 ?專欄傳送門&#xff1a;《C語言》、《數據結構與算法》、C語言刷題12天IO強訓、LeetCode代碼強化刷題、洛谷刷題、C/C基礎知識知識強化補充、C/C干貨分享&學習過程記錄 &#x1f349;學習方向&#xff1a;C/C方向學習者…

43.shell腳本循環與函數

shell腳本循環與函數 for 循環 for 循環用于一次性讀取多個信息&#xff0c;逐一對信息進行操作處理&#xff0c;特別適合處理有范圍的數據 語法 for 變量名 in 取值列表 do命令序列 done批量創建用戶 #!/bin/bashtouch /root/users.txt echo aka blues cloe dio foks > /ro…

模型部署:(四)安卓端部署Yolov8-v8.2.99實例分割項目全流程記錄

模型部署&#xff1a;&#xff08;四&#xff09;安卓端部署Yolov8-v8.2.99實例分割項目全流程記錄1、下載ncnn2、下載opencv-mobile3、文件拷貝4、andorid_studio相關配置5、文件內參數設置5、重構項目&#xff1a;6、打包apk7、部署自己訓練的實例分割模型1、下載ncnn 地址&…

高并發、低延遲全球直播系統架構

一、 核心架構圖 整個系統的數據流和工作流程如下圖所示&#xff0c;它清晰地展示了從主播推流到觀眾觀看的完整過程&#xff1a; #mermaid-svg-QzNpj0DWxd5FERPC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-QzN…