JavaScript 基础语法

JavaScript 是一种动态类型语言,变量声明使用 var、let 或 const。let 和 const 是 ES6 引入的块级作用域变量声明方式。

javascript 复制代码
let name = "John";
const age = 25;
var isStudent = true;

数据类型

JavaScript 包含以下基本数据类型:

  • 字符串(String)
  • 数字(Number)
  • 布尔值(Boolean)
  • null
  • undefined
  • 对象(Object)
  • Symbol(ES6 新增)
javascript 复制代码
typeof "Hello"; // "string"
typeof 42;      // "number"
typeof true;    // "boolean"

函数定义

函数可以通过多种方式定义:

javascript 复制代码
// 函数声明
function greet(name) {
    return `Hello, ${name}!`;
}

// 函数表达式
const greet = function(name) {
    return `Hello, ${name}!`;
};

// 箭头函数(ES6)
const greet = (name) => `Hello, ${name}!`;

对象和数组

对象用于存储键值对集合:

javascript 复制代码
const person = {
    name: "Alice",
    age: 30,
    greet: function() {
        console.log(`My name is ${this.name}`);
    }
};

数组用于存储有序数据:

javascript 复制代码
const numbers = [1, 2, 3, 4, 5];
numbers.push(6); // 添加元素
numbers.forEach(num => console.log(num));

DOM 操作

JavaScript 可以操作网页元素:

javascript 复制代码
// 获取元素
const btn = document.getElementById("myButton");

// 添加事件监听
btn.addEventListener("click", function() {
    console.log("Button clicked");
});

// 修改内容
document.querySelector(".content").textContent = "New content";

异步编程

处理异步操作的几种方式:

javascript 复制代码
// 回调函数
setTimeout(() => {
    console.log("Delayed message");
}, 1000);

// Promise
fetch("https://api.example.com/data")
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error(error));

// async/await
async function getData() {
    try {
        const response = await fetch("https://api.example.com/data");
        const data = await response.json();
        console.log(data);
    } catch (error) {
        console.error(error);
    }
}

ES6+ 特性

现代 JavaScript 的重要特性:

  • 模板字符串
  • 解构赋值
  • 默认参数
  • 展开运算符
  • 类语法
javascript 复制代码
// 解构赋值
const { name, age } = person;

// 类
class Person {
    constructor(name) {
        this.name = name;
    }

    greet() {
        console.log(`Hello, ${this.name}`);
    }
}

模块化

ES6 模块系统:

javascript 复制代码
// module.js
export const PI = 3.14159;
export function circleArea(r) {
    return PI * r * r;
}

// app.js
import { PI, circleArea } from "./module.js";
console.log(circleArea(5));
相关推荐
十年Java程序媛几秒前
Redis 分布式锁 + GZIP 压缩缓存踩坑|高并发缓存真实线上复盘
java·开发语言·spring boot·redis·分布式·缓存·面试
低频电磁之道几秒前
C++ 中有符号与无符号类型混用可能导致的问题
开发语言·c++
for_ever_love__30 分钟前
LangChain Token 计数与成本控制:先知道钱花在哪
开发语言·langchain
m0_5474866631 分钟前
《数据结构 (C语言)》期末试卷及答案(10套)2026版
c语言·开发语言·数据结构
Sand(ContextGate)34 分钟前
从开发者调试工具到消费级 App:一个 AI 电商导购项目的 C 端改造与 6 个连环踩坑实录
开发语言·人工智能·python·ai·langchain
白杨尚青39 分钟前
C++入门篇(十七):priority_queue 完整模拟实现——仿函数、区间建堆与指针特化(附完整代码仓库)
开发语言·c++·stl·仿函数
逐光者9331 小时前
滤波器的 R 与 C 如何选择:从截止频率到工程实践
c语言·开发语言·r语言
Eider19981 小时前
大模型输出格式幻觉解决思路
开发语言·前端·javascript
Want5951 小时前
Python太极八卦图
开发语言·python
志尊宝1 小时前
Vue3 零基础每日笔记(085):项目上线前 Checklist——环境变量、报错监控、安全自查
前端·javascript·笔记·安全·信息可视化·echarts