JavaScript简介
JavaScript(简称JS)是一种轻量级、解释型或即时编译的编程语言,主要用于为网页添加交互功能。它是ECMAScript标准最著名的实现之一,与HTML和CSS并称为现代网页开发的三大核心技术。
概述[编辑 | 编辑源代码]
JavaScript最初由Netscape公司的Brendan Eich在1995年开发,最初命名为LiveScript,后因与Sun Microsystems(现Oracle)合作而更名为JavaScript。尽管名称中包含"Java",但JavaScript与Java语言并无直接关联。
JavaScript的主要特点包括:
- 跨平台:在所有现代浏览器中运行
- 多范式:支持面向对象、函数式和命令式编程
- 动态类型:变量类型在运行时确定
- 基于原型:使用原型继承而非类继承(ES6之前)
- 单线程:使用事件循环处理并发
基本语法[编辑 | 编辑源代码]
JavaScript语法与C语言家族相似,但有其独特特性。
变量声明[编辑 | 编辑源代码]
JavaScript有三种变量声明方式:
// ES5方式
var name = "张三"; // 函数作用域
// ES6新增
let age = 25; // 块级作用域
const PI = 3.14; // 块级作用域,常量
数据类型[编辑 | 编辑源代码]
JavaScript有7种基本数据类型和1种复杂数据类型:
类型 | 说明 | 示例 |
---|---|---|
Number |
数字 | 42 , 3.14
|
String |
字符串 | "Hello" , 'World'
|
Boolean |
布尔值 | true , false
|
null |
空值 | null
|
undefined |
未定义 | undefined
|
Symbol |
唯一标识符 | Symbol('id')
|
BigInt |
大整数 | 9007199254740991n
|
Object |
对象 | {name: "张三"} , [1,2,3]
|
核心概念[编辑 | 编辑源代码]
函数[编辑 | 编辑源代码]
JavaScript中的函数是一等公民,可以作为参数传递或作为返回值。
// 函数声明
function greet(name) {
return `Hello, ${name}!`;
}
// 函数表达式
const square = function(x) {
return x * x;
};
// 箭头函数 (ES6)
const add = (a, b) => a + b;
对象和原型[编辑 | 编辑源代码]
JavaScript使用原型继承而非类继承(ES6之前):
// 构造函数
function Person(name, age) {
this.name = name;
this.age = age;
}
// 通过原型添加方法
Person.prototype.greet = function() {
console.log(`你好,我是${this.name}`);
};
const person1 = new Person("李四", 30);
person1.greet(); // 输出: 你好,我是李四
异步编程[编辑 | 编辑源代码]
JavaScript使用回调、Promise和async/await处理异步操作:
// 回调方式
setTimeout(() => {
console.log("1秒后执行");
}, 1000);
// Promise方式
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data));
// async/await方式 (ES2017)
async function getData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
}
实际应用[编辑 | 编辑源代码]
DOM操作[编辑 | 编辑源代码]
JavaScript最常见的用途是操作网页内容:
// 获取元素
const button = document.getElementById('myButton');
// 添加事件监听
button.addEventListener('click', () => {
const div = document.createElement('div');
div.textContent = '新创建的元素';
document.body.appendChild(div);
});
表单验证[编辑 | 编辑源代码]
客户端表单验证示例:
document.querySelector('form').addEventListener('submit', (event) => {
const email = document.getElementById('email').value;
if (!email.includes('@')) {
event.preventDefault();
alert('请输入有效的电子邮件地址');
}
});
JavaScript执行模型[编辑 | 编辑源代码]
JavaScript在浏览器中的执行模型可以用以下mermaid图表示:
数学计算[编辑 | 编辑源代码]
JavaScript支持各种数学运算,可以通过Math对象访问:
对应JavaScript代码:
const distance = Math.sqrt(x**2 + y**2);
总结[编辑 | 编辑源代码]
JavaScript作为现代Web开发的基石,从简单的网页交互到复杂的单页应用(SPA)都能胜任。随着ECMAScript标准的不断更新,JavaScript的功能也在不断增强,使其成为当今最流行的编程语言之一。
对于初学者,建议从基础语法开始,逐步学习DOM操作、事件处理和异步编程。有经验的开发者可以深入探索原型继承、闭包、设计模式等高级主题。