溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript基礎入門知識點有哪些

發布時間:2022-02-19 14:13:46 來源:億速云 閱讀:223 作者:小新 欄目:開發技術
# JavaScript基礎入門知識點有哪些

## 目錄
1. [JavaScript簡介](#javascript簡介)
2. [基礎語法](#基礎語法)
3. [數據類型](#數據類型)
4. [變量與作用域](#變量與作用域)
5. [運算符](#運算符)
6. [流程控制](#流程控制)
7. [函數](#函數)
8. [對象](#對象)
9. [數組](#數組)
10. [DOM操作](#dom操作)
11. [事件處理](#事件處理)
12. [異步編程](#異步編程)
13. [ES6+新特性](#es6新特性)
14. [常見錯誤與調試](#常見錯誤與調試)
15. [學習資源推薦](#學習資源推薦)

---

## JavaScript簡介
JavaScript(簡稱JS)是一種輕量級的解釋型編程語言,主要用于網頁開發。它最初由Netscape的Brendan Eich在1995年設計實現,現已成為Web三大核心技術之一(HTML/CSS/JavaScript)。

### 主要特點:
- **腳本語言**:無需編譯,由瀏覽器解釋執行
- **跨平臺性**:所有現代瀏覽器都支持
- **多范式**:支持面向對象、函數式編程等
- **動態類型**:變量類型在運行時確定

### 應用場景:
- 網頁交互效果
- 前端框架開發(React/Vue等)
- 服務端開發(Node.js)
- 移動應用開發(React Native)

---

## 基礎語法
### 1. 代碼結構
```javascript
// 單行注釋
/* 多行注釋 */

// 語句以分號結尾(可選但推薦)
console.log("Hello World");

2. 嚴格模式

"use strict";  // 啟用嚴格模式
x = 10;        // 報錯(未聲明變量)

數據類型

JavaScript有7種原始類型和1種引用類型:

原始類型(Primitive)

  1. Numberlet age = 25
  2. Stringlet name = "Alice"
  3. Booleanlet isStudent = true
  4. Nulllet empty = null
  5. Undefinedlet notDefined
  6. Symbol(ES6):let id = Symbol("id")
  7. BigInt(ES2020):let bigNum = 123n

引用類型

  • Object{ key: "value" }
  • 特殊對象:Array、Function、Date等

類型檢測

typeof 42;          // "number"
typeof "text";      // "string"
typeof undefined;   // "undefined"

變量與作用域

變量聲明

var oldVar = 1;     // 函數作用域(已過時)
let mutable = 2;    // 塊級作用域(可重新賦值)
const PI = 3.14;    // 塊級作用域(不可重新賦值)

作用域鏈

let global = 1;

function outer() {
  let outerVar = 2;
  
  function inner() {
    let innerVar = 3;
    console.log(global + outerVar + innerVar); // 6
  }
}

運算符

算術運算符

let x = 10 + 5;     // 15
let y = 10 % 3;     // 1(取模)
let z = 2 ** 3;     // 8(指數)

比較運算符

"5" == 5;    // true(值相等)
"5" === 5;   // false(嚴格相等)

邏輯運算符

true && false;  // AND → false
true || false;  // OR → true
!true;          // NOT → false

流程控制

條件語句

if (score >= 90) {
  grade = 'A';
} else if (score >= 60) {
  grade = 'B';
} else {
  grade = 'C';
}

循環語句

// for循環
for (let i = 0; i < 5; i++) {
  console.log(i);
}

// while循環
let j = 0;
while (j < 5) {
  console.log(j);
  j++;
}

函數

函數定義

// 函數聲明
function sum(a, b) {
  return a + b;
}

// 函數表達式
const multiply = function(a, b) {
  return a * b;
};

箭頭函數(ES6)

const square = x => x * x;
const add = (a, b) => a + b;

對象

對象創建

let user = {
  name: "John",
  age: 30,
  sayHi() {
    console.log(`Hello, ${this.name}`);
  }
};

構造函數

function Person(name, age) {
  this.name = name;
  this.age = age;
}

let bob = new Person("Bob", 25);

數組

基本操作

let fruits = ["Apple", "Orange"];
fruits.push("Banana");      // 末尾添加
fruits.pop();              // 刪除末尾
fruits.includes("Apple");  // true

高階函數

let numbers = [1, 2, 3];
numbers.map(x => x * 2);    // [2, 4, 6]
numbers.filter(x => x > 1); // [2, 3]

DOM操作

元素選擇

document.getElementById("header");
document.querySelector(".btn");

元素修改

let elem = document.querySelector("#demo");
elem.textContent = "New text";
elem.style.color = "red";

事件處理

button.addEventListener("click", function() {
  alert("Button clicked!");
});

異步編程

回調函數

setTimeout(() => {
  console.log("Delayed message");
}, 1000);

Promise

fetch(url)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

async/await

async function getData() {
  try {
    let response = await fetch(url);
    let data = await response.json();
    console.log(data);
  } catch (err) {
    console.error(err);
  }
}

ES6+新特性

  1. let/const:塊級作用域變量
  2. 模板字符串`Hello ${name}`
  3. 解構賦值let [a, b] = [1, 2]
  4. 默認參數function greet(name="Guest")
  5. 展開運算符Math.max(...numbers)

常見錯誤與調試

常見錯誤類型

  • ReferenceError:未定義變量
  • TypeError:類型操作錯誤
  • SyntaxError:語法錯誤

調試技巧

console.log(variable);  // 輸出日志
debugger;              // 斷點調試

學習資源推薦

  1. 書籍:《JavaScript高級程序設計》
  2. 網站:MDN Web Docs
  3. 在線課程:freeCodeCamp
  4. 實踐平臺:Codewars

提示:學習JavaScript最重要的是多實踐,建議通過小型項目(如待辦事項列表)鞏固知識。

(全文約4550字) “`

注:實際字數可能因格式和顯示環境略有差異,如需精確字數控制,建議在Markdown編輯器中查看完整統計。本文涵蓋了JavaScript基礎核心知識點,適合初學者系統學習。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女