一、JavaScript 在做事情時的規則(超重要)JavaScript 是「一次只能做一件事」的語言你可以把 JavaScript 想成:
👦 一個只有「一個腦袋、一雙手」的小朋友
這個小朋友:
一次只能做一件事情
做完一件,才會做下一件
這就叫做:
👉 單執行緒(Single Thread)
什麼是「同步」?同步 = 排隊一個一個來就像你在洗手:
先開水龍頭
洗手
關水龍頭
前一步沒做完,後一步不能開始
同步的特點
程式會照順序跑
前一行沒跑完,下一行一定不會跑
如果卡住了,後面全部都停住
什麼是「非同步」?非同步 = 先交代,之後再回來就像你請媽媽幫你煮泡麵:
你跟媽媽說:「幫我煮泡麵」
媽媽去煮
你先去寫作業
泡麵好了,媽媽再叫你
👉 你不用站在旁邊等
JavaScript 什麼時候會用非同步?常見情況:
跟網路要資料(API、AJAX)
倒數計時(setTimeout)
因為這些事情:
需要時間
JavaScript 不想傻傻等
二、同步「卡住」的例子範例一:alert 為什麼很討厭?12345console.log ...
1. NaN 是什麼?
NaN = Not a Number(不是數字)。
代表「預期是數字,卻得不到合法數字」的結果。
型別依然是 number。
12console.log(typeof NaN); // "number"
2. 什麼時候會出現 NaN?
無法正確轉換成數字 時:
123Number("hello"); // NaNparseInt("hello"); // NaN
數學運算錯誤 時:
1230 / 0; // NaNMath.sqrt(-1); // NaN
非法運算 時:
123let x = "apple" * 10;console.log(x); // NaN
3. NaN 的特性
NaN 不等於任何東西,包括自己
12console.log(NaN === NaN); // false
檢查 NaN 的方法
123Number.isNaN(NaN); // true ✅ (推薦)isNaN("hel ...
1. .length
功能:計算字串的 字元數(包含空白、標點符號)。
語法:字串變數.length
123let a = "Hello World!";console.log(a.length); // 12
📌 注意:空白也算在長度內。
JS 字串長度(length)筆記1️⃣ 基本概念
length 屬性回傳 字串中 UTF-16 code unit 的數量。
英文、數字、符號通常每個字元佔 1。
中文漢字通常每個字元佔 1。
Emoji 或特殊符號可能佔 2 個 code unit。
2️⃣ 範例與圖示範例 1:英文 + 符號123let a = '5fjooooelkg;v';console.log(a.length); // 13
圖示:
123字元: 5 f j o o o o e l k g ; v長度: 1 1 1 1 1 1 1 1 1 1 1 1 1 → 總長度 13
範例 2:中文 + 標點123let b = '你好嗎?阿凱';console.log(b.length); // 6
...
1. 變數宣告方式
使用 let 宣告變數,可以重新賦值。
使用 const 宣告常數,不可重新賦值。
123let apple = 4; // 宣告 apple 變數,值為 4const pi = 3.14; // 宣告 pi 常數,值為 3.14
2. 變數命名規則
不能以數字開頭
❌ let 1apple = 3;
✅ let apple1 = 3;
大小寫敏感
123456let name = "小熊";let Name = "大熊";console.log(name); // 小熊console.log(Name); // 大熊
不能使用保留字(如 let, if, for 等)
3. 在瀏覽器 Console 中使用變數
變數只會在 當前頁面與當前 Console session 存在。
重新整理頁面或開新分頁,變數會消失。
如果已經宣告過 let,再次賦值時 不需要重複宣告。
1234let count = 10; // 第一次要用 letcount = 20; // 之後改值,不需 ...
title: Hello Worldcategories: Hexo,前端Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment












