JavaScript 核心语法详解

1. 变量声明

JavaScript 中有三种声明变量的方式:

// 1. var (ES5, 存在变量提升)
var name = "小明";

// 2. let (ES6, 块级作用域)
let age = 18;

// 3. const (ES6, 常量,不可重新赋值)
const PI = 3.14159;

最佳实践:默认使用 const,需要重新赋值时用 let,避免使用 var

2. 数据类型

JavaScript 有7种基本数据类型和1种引用类型:

基本类型

// 1. 字符串
let str = "Hello";

// 2. 数字
let num = 123;

// 3. 布尔值
let bool = true;

// 4. null
let empty = null;

// 5. undefined
let notDefined;

// 6. Symbol (ES6)
let sym = Symbol("unique");

// 7. BigInt (ES2020)
let bigNum = 123n;

引用类型

// 对象
let obj = {
  name: "小明",
  age: 18
};

// 数组
let arr = [1, 2, 3];

// 函数
function greet() {
  console.log("Hello!");
}

3. 运算符

算术运算符

let a = 10, b = 3;

console.log(a + b); // 13
console.log(a - b); // 7
console.log(a * b); // 30
console.log(a / b); // 3.333...
console.log(a % b); // 1
console.log(a ** b); // 1000 (指数)

比较运算符

console.log(1 == "1"); // true (值相等)
console.log(1 === "1"); // false (值和类型都相等)
console.log(1 != 2); // true
console.log(1 !== "1"); // true
console.log(3 > 2); // true
console.log(2 <= 2); // true

逻辑运算符

console.log(true && false); // false
console.log(true || false); // true
console.log(!true); // false

4. 流程控制

if-else

let score = 85;

if (score >= 90) {
  console.log("优秀");
} else if (score >= 60) {
  console.log("及格");
} else {
  console.log("不及格");
}

switch

let day = 3;
let dayName;

switch (day) {
  case 1:
    dayName = "星期一";
    break;
  case 2:
    dayName = "星期二";
    break;
  // ...其他情况
  default:
    dayName = "未知";
}

三元运算符

let age = 20;
let canVote = age >= 18 ? "可以投票" : "不能投票";

5. 循环

for 循环

for (let i = 0; i < 5; i++) {
  console.log(i); // 0,1,2,3,4
}

while 循环

let i = 0;
while (i < 5) {
  console.log(i); // 0,1,2,3,4
  i++;
}

do-while 循环

let j = 0;
do {
  console.log(j); // 0,1,2,3,4
  j++;
} while (j < 5);

for...of 循环 (ES6)

let colors = ["red", "green", "blue"];
for (let color of colors) {
  console.log(color); // red, green, blue
}

6. 函数

函数声明

function greet(name) {
  return "Hello, " + name;
}

函数表达式

const greet = function(name) {
  return "Hello, " + name;
};

箭头函数 (ES6)

const greet = (name) => {
  return "Hello, " + name;
};

// 简写形式
const add = (a, b) => a + b;

7. 对象

对象创建

let person = {
  name: "小明",
  age: 18,
  greet: function() {
    console.log("你好,我是" + this.name);
  }
};

访问属性

console.log(person.name); // 小明
console.log(person["age"]); // 18
person.greet(); // 你好,我是小明

8. 数组

数组操作

let fruits = ["苹果", "香蕉"];

// 添加元素
fruits.push("橙子"); // 末尾添加
fruits.unshift("葡萄"); // 开头添加

// 删除元素
fruits.pop(); // 删除最后一个
fruits.shift(); // 删除第一个

// 遍历数组
fruits.forEach(function(fruit) {
  console.log(fruit);
});

9. 类 (ES6)

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

  greet() {
    console.log(`你好,我是${this.name},今年${this.age}岁`);
  }
}

let xiaoming = new Person("小明", 18);
xiaoming.greet();

10. 模块化 (ES6)

导出模块

// math.js
export const PI = 3.14159;

export function add(a, b) {
  return a + b;
}

导入模块

// app.js
import { PI, add } from './math.js';

console.log(PI);
console.log(add(2, 3));

总结

JavaScript 核心语法包括变量声明、数据类型、运算符、流程控制、循环、函数、对象、数组等基础概念。ES6 引入了许多新特性如 let/const、箭头函数、类、模块等,大大提升了 JavaScript 的开发体验。

掌握这些核心语法是学习 JavaScript 的基础,希望这篇文章能帮助你更好地理解和使用 JavaScript!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值