WEEK3 – DAY3 – 實作順利?

我真的很想開始實作,畢竟翹課仔有一堆實作與課程進度要補,但總覺得實作規劃好像都有設想到啊,但心裡就是覺得不踏實,總覺得少了什麼,我們也只有前端的部分,技術也就哪些,照理說不應該太複雜才對。

但還是覺得怪,所以我又重新思考一次,並重新略過一次實作過程,找出不對勁的地方,但好像沒發現問題,希望接下來順利吧!

今天花了很多時間在心智圖上,坊間的各種軟體都試過一遍,好不容易找到一款喜歡的,花了很多時間製作,結果輸出才發現有浮水印跟限制,明目張膽的表示,就是要錢。

Javascript

內建物件

  • Browser Object Model (BOM)連結
  • Document Object Model (DOM)連結
  • JavaScript 和 HTML DOM 參考連結

JavaScript 程式嵌入方式

嵌入方式範例說明
HTML 顯示文字<h1>蘋果</h1>在 HTML 標籤內直接加入內容。
JavaScript 動態加入文字document.write("皮卡丘");使用 document.write
外部引用 JavaScript 檔案<script src="./index.js"></script>引用外部 JavaScript 檔案。
注意<script src="./index.js">...</script>此方法無法撰寫 JavaScript。

Chrome 開發者工具

練習指令與效果連結

指令功能描述
console.log()顯示一般訊息。
console.error()顯示錯誤訊息。
console.warn()顯示警告訊息。
console.clear()清除 console 畫面。
console.time() / .timeEnd()計算程式執行時間。
console.group() / .groupEnd()群組顯示訊息。
console.groupCollapsed()預設折疊的群組訊息。

DOM 操作範例

範例指令功能
document查看整個 HTML 文件物件。
document.head / .body獲取 <head><body> 區塊。
document.getElementsByTagName()選取特定標籤集合。
document.getElementById()選取特定 ID 的元素。
innerText修改 HTML 元素的文字內容。

範例:修改文字

document.getElementById('demo').innerText = "皮卡丘";

加入事件處理

功能描述範例
直接加入事件<button onclick="console.log('皮卡丘');">按鈕</button>
呼叫函式執行<button onclick="apple()">按鈕</button>
定義函式function apple() { console.log("胖丁"); }

JavaScript 基本觀念

區分大小寫

  • var x = 5;var X = 5; 是不同的變數名稱。
  • 範例var y = 5; console.log(y); // 5 // console.log(Y); // 錯誤: Y is not defined

保留字

  • 無法使用 JavaScript 保留字(如 if, var, let)作為變數名稱。
  • 範例// var if = 10; // 錯誤: Unexpected token 'if'

變數宣告方式

宣告方式特性範例
var作用域為 function 或全域,可重複宣告。var x = 10;
let作用域為 block,不可重複宣告,值可更改。let y = 20;
const作用域為 block,宣告時需初始化,值不可更改。const z = 30;

範例

var x = 10;
let y = 20;
const z = 30;

console.log(x); // 10
console.log(y); // 20
console.log(z); // 30
// z = 99; // 錯誤: Assignment to constant variable

作用域與 Hoisting

  1. 作用域範例
    • var 宣告的變數可在區塊外訪問。
    • let 宣告的變數僅能在區塊內訪問。
    if (true) { var cat = 100; let dog = 200; } console.log(cat); // 100 // console.log(dog); // 錯誤: dog is not defined
  2. Hoisting(提升)
    • JavaScript 會將 var 宣告提升至程式碼的頂部,但不會提升賦值。
    console.log(x); // undefined var x = 5;

字串與操作

方法功能描述範例
.length獲取字串長度。"APPLE".length // 5
.indexOf()找到子字串首次出現的位置,若無則回傳 -1。"APPLE".indexOf("P") // 1
.lastIndexOf()找到子字串最後一次出現的位置。"APPLE".lastIndexOf("P") // 2
.split()分割字串為陣列。"a,b,c".split(",") // ['a', 'b', 'c']
.padStart()在字串前補上特定字元直到指定長度。"123".padStart(5, "0") // 00123
.substring()擷取指定範圍的子字串。"012345".substring(0, 3) // '012'

範例

var str = "APPLE";
console.log(str.length);            // 5
console.log(str.indexOf("P"));      // 1
console.log(str.lastIndexOf("P"));  // 2
console.log("123".padStart(5, "0")); // 00123

Template Literals

  • 使用反引號 (“) 表示,允許插入變數。
  • 範例var store = "麥當勞"; var food = "薯條"; console.log(`您的餐點是${store}的${food}`); // 您的餐點是麥當勞的薯條

錯誤訊息

錯誤類型說明
is not defined使用了尚未宣告的變數。
Cannot access '變數名稱' before initialization在初始化前使用 letconst 宣告的變數。
undefined已宣告但未賦值的變數預設值。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *