JavaScript是当今Web开发中最重要的编程语言之一,它为网页添加交互性和动态功能。本文将以简洁明了的方式介绍JavaScript的核心语法和基本概念,帮助初学者快速入门并掌握这一强大的编程语言。
1. 什么是JavaScript?
JavaScript是一种轻量级的解释型编程语言,主要用于网页开发,让网页变得"活"起来。它是Web的三大核心技术之一(HTML、CSS和JavaScript)。
JavaScript能做什么?
- 改变网页内容:动态更新页面元素
- 响应用户操作:处理点击、滚动等事件
- 发送和接收数据:与服务器通信而无需刷新页面
- 创建动画和交互效果:提升用户体验
- 存储数据:在用户浏览器中保存信息
- 构建完整应用:结合现代框架可开发复杂应用
2. 变量 - 存储数据的盒子
变量是存储数据的容器,你可以给它命名,然后在程序中使用这个名字来引用存储的数据。
变量声明和赋值
// 声明变量
let name = "小明"; // 字符串
let age = 18; // 数字
let isStudent = true; // 布尔值(真/假)
// 使用变量
console.log("我叫" + name + ",今年" + age + "岁");
// 输出:我叫小明,今年18岁
// 使用模板字符串(ES6特性)
console.log(`我叫${name},今年${age}岁`);
// 输出:我叫小明,今年18岁
变量的三种声明方式
- var:传统声明方式,存在变量提升,函数作用域
- let:现代声明方式,块级作用域,可以修改值
- const:常量声明,一旦赋值不能修改
// let - 可修改的变量
let count = 1;
count = 2; // 可以修改
// const - 不可修改的常量
const PI = 3.14159;
// PI = 3; // 错误!常量不能修改
// 但const声明的对象内部属性可以修改
const person = { name: "小明" };
person.name = "小红"; // 这是允许的
// person = { name: "小红" }; // 错误!不能重新赋值
变量命名规则
- 只能包含字母、数字、下划线和美元符号
- 必须以字母、下划线或美元符号开头
- 区分大小写(
name和Name是不同的变量) - 不能使用保留字(如
let、const、function等) - 推荐使用驼峰命名法(如
firstName、isUserLoggedIn)
3. 数据类型 - 不同种类的数据
JavaScript中有几种基本的数据类型:
基本数据类型
-
字符串(String):文本,用单引号、双引号或反引号包裹
let message = "你好,世界!";
let name = '小明';
let greeting = `你好,${name}`; // 模板字符串 -
数字(Number):整数或小数
let age = 25;
let price = 99.99;
let infinity = Infinity;
let notANumber = NaN; // 表示"不是一个数字" -
布尔(Boolean):真(true)或假(false)
let isOnline = true;
let hasError = false; -
空(null):表示"没有值"或"空值"
let emptyBox = null; -
未定义(undefined):变量声明但未赋值
let something; // 值为undefined -
符号(Symbol):ES6引入的唯一标识符
let id = Symbol("id"); -
大整数(BigInt):表示任意精度的整数
let bigNumber = 9007199254740991n;
引用数据类型
-
对象(Object):存储多个相关值的集合
let person = {
name: "小红",
age: 20,
isStudent: true
}; -
数组(Array):有序的数据集合
let fruits = ["苹果", "香蕉", "橙子"]; -
函数(Function):可执行的代码块
function greet() {
return "你好!";
}
检查数据类型
使用typeof运算符可以检查变量的类型:
typeof "Hello" // 返回 "string"
typeof 42 // 返回 "number"
typeof true // 返回 "boolean"
typeof undefined // 返回 "undefined"
typeof null // 返回 "object"(这是JavaScript的一个历史遗留bug)
typeof {} // 返回 "object"
typeof [] // 返回 "object"(数组是特殊的对象)
typeof function(){} // 返回 "function"
4. 运算符 - 数据的操作工具
算术运算符
let a = 5;
let b = 2;
let sum = a + b; // 加法: 7
let difference = a - b; // 减法: 3
let product = a * b; // 乘法: 10
let quotient = a / b; // 除法: 2.5
let remainder = a % b; // 取余: 1
let power = a ** b; // 幂运算: 25 (ES2016)
// 自增和自减
let count = 1;
count++; // 等同于 count = count + 1
count--; // 等同于 count = count - 1
比较运算符
let x = 10;
let y = 5;
let z = "10";
x > y // 大于: true
x < y // 小于: false
x >= y // 大于等于: true
x <= y // 小于等于: false
x == y // 等于: false
x != y // 不等于: true
// 严格比较(推荐使用)
x === y // 严格等于: false
x !== y // 严格不等于: true
x == z // 等于: true(会进行类型转换)
x === z // 严格等于: false(不会进行类型转换)