跳转到内容

JavaScript:修订间差异

来自代码酷
Admin留言 | 贡献
Created by Admin WikiAgent (referenced from 首页)
 
Admin留言 | 贡献
无编辑摘要
 
第1行: 第1行:
{{编程语言信息框
| 名称 = JavaScript
| 范式 = [[多范式编程语言|多范式]](面向对象、函数式、命令式、事件驱动)
| 设计者 = 布兰登·艾克(Brendan Eich)
| 发行年 = 1995年
| 最新版本 = ECMAScript 2023(ES14)
| 类型系统 = [[动态类型]]、[[弱类型]]
| 扩展名 = .js, .mjs, .cjs
| 网站 = {{URL|https://www.ecma-international.org/publications-and-standards/standards/ecma-262/}}
}}
'''JavaScript'''(简称'''JS''')是一种高级的、解释型的[[编程语言]],最初由网景公司(Netscape)的布兰登·艾克(Brendan Eich)在1995年开发。作为[[ECMAScript]]标准最著名的实现,JavaScript已成为[[万维网]]三大核心技术之一,与[[HTML]]和[[CSS]]共同构成现代[[前端开发]]的基础。
'''JavaScript'''(简称'''JS''')是一种高级的、解释型的[[编程语言]],最初由网景公司(Netscape)的布兰登·艾克(Brendan Eich)在1995年开发。作为[[ECMAScript]]标准最著名的实现,JavaScript已成为[[万维网]]三大核心技术之一,与[[HTML]]和[[CSS]]共同构成现代[[前端开发]]的基础。



2025年5月6日 (二) 18:21的最新版本

JavaScript(简称JS)是一种高级的、解释型的编程语言,最初由网景公司(Netscape)的布兰登·艾克(Brendan Eich)在1995年开发。作为ECMAScript标准最著名的实现,JavaScript已成为万维网三大核心技术之一,与HTMLCSS共同构成现代前端开发的基础。

历史与发展[编辑 | 编辑源代码]

JavaScript最初在1995年9月被命名为Mocha,随后改名为LiveScript,最终在同年12月确定为JavaScript。这一命名策略是为了借助当时流行的Java语言的市场影响力,尽管两者在设计和用途上有显著差异。

1996年,JavaScript被提交给欧洲计算机制造商协会(ECMA)进行标准化,形成了ECMAScript规范。自那时起,JavaScript经历了多个重要版本更新:

  • ES3(1999年):引入了正则表达式、异常处理等特性
  • ES5(2009年):添加了严格模式、JSON支持等
  • ES6/ES2015(2015年):重大更新,引入了类、模块、箭头函数等
  • ES2020及后续版本:持续添加新特性如可选链操作符(?.)、空值合并操作符(??)等

语言特性[编辑 | 编辑源代码]

基本语法[编辑 | 编辑源代码]

JavaScript的语法借鉴自C语言家族,但具有独特的动态特性:

// 变量声明
let message = "Hello, World!";
const PI = 3.14159;

// 函数定义
function greet(name) {
    return `Hello, ${name}!`;
}

// 类定义
class Person {
    constructor(name) {
        this.name = name;
    }
    
    sayHello() {
        console.log(greet(this.name));
    }
}

// 使用
const person = new Person("Alice");
person.sayHello(); // 输出: Hello, Alice!

数据类型[编辑 | 编辑源代码]

JavaScript是动态类型语言,包含以下基本数据类型:

  • 原始类型:
 * undefined
 * null
 * Boolean
 * Number
 * String
 * BigInt
 * Symbol
  • 对象类型:Object(包括ArrayFunction等)

异步编程[编辑 | 编辑源代码]

JavaScript采用事件循环机制处理异步操作,主要方式包括:

  • 回调函数(Callback)
  • Promise对象
  • async/await语法
// Promise示例
fetch('https://api.example.com/data')
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));

// async/await示例
async function fetchData() {
    try {
        const response = await fetch('https://api.example.com/data');
        const data = await response.json();
        console.log(data);
    } catch (error) {
        console.error('Error:', error);
    }
}

运行环境[编辑 | 编辑源代码]

JavaScript最初设计用于浏览器环境,但现在可以在多种环境中运行:

浏览器[编辑 | 编辑源代码]

所有现代浏览器都内置JavaScript引擎:

服务器端[编辑 | 编辑源代码]

通过Node.js等运行时,JavaScript可以用于服务器端开发:

  • 文件系统操作
  • 网络通信
  • 数据库交互

其他环境[编辑 | 编辑源代码]

生态系统[编辑 | 编辑源代码]

JavaScript拥有丰富的生态系统,包括:

包管理[编辑 | 编辑源代码]

框架与库[编辑 | 编辑源代码]

类别 主要选择
前端框架 ReactVue.jsAngular
后端框架 Express.jsKoaNestJS
测试工具 JestMochaCypress
构建工具 WebpackRollupVite

应用实例[编辑 | 编辑源代码]

浏览器交互[编辑 | 编辑源代码]

// 获取DOM元素并添加事件监听器
document.getElementById('myButton').addEventListener('click', () => {
    const input = document.getElementById('nameInput').value;
    alert(`Hello, ${input}!`);
});

数据处理[编辑 | 编辑源代码]

// 使用数组方法处理数据
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(n => n * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

// 使用reduce计算总和
const sum = numbers.reduce((total, num) => total + num, 0);
console.log(sum); // 15

现代前端开发[编辑 | 编辑源代码]

使用React构建组件:

import React, { useState } from 'react';

function Counter() {
    const [count, setCount] = useState(0);
    
    return (
        <div>
            <p>You clicked {count} times</p>
            <button onClick={() => setCount(count + 1)}>
                Click me
            </button>
        </div>
    );
}

性能优化[编辑 | 编辑源代码]

JavaScript性能优化技术包括:

  • 避免全局变量
  • 使用事件委托
  • 减少DOM操作
  • 使用Web Workers处理CPU密集型任务
  • 代码拆分和懒加载

安全考虑[编辑 | 编辑源代码]

JavaScript开发需要注意的安全问题:

学习资源[编辑 | 编辑源代码]

参见[编辑 | 编辑源代码]