JavaScript 第二十二章(声明)

81 阅读2分钟

在JavaScript中,声明是构建程序基础的重要组成部分。虽然它们不会直接导致事件的发生,但它们为程序中的其他语句提供了必要的定义和结构。声明可以分为几种类型,包括变量、函数、类以及模块导入和导出。

变量声明:const、let和var

  • constlet是ES6引入的新关键字,用于声明常量和变量。const声明一个值不变的常量,而let则声明一个可以重新赋值的变量。这两者都具有块级作用域(block scope),意味着它们只在声明它们的代码块内有效。
  • var是早期JavaScript中唯一的变量声明方式,它具有函数作用域(function scope),这可能会导致一些不易察觉的错误。在现代JavaScript编程中,推荐使用constlet来取代var

示例代码:

const PI = 3.14159; // 声明一个常量
let age = 25; // 声明一个变量

函数声明:function

  • function关键字用于声明函数。函数声明会创建一个函数对象,并将其赋值给一个名字,这样就可以在程序的任何地方通过这个名字调用函数。
  • 函数声明会被提升(hoisting),意味着在函数声明之前就可以调用该函数。

示例代码:

function greet(name) {
    return `Hello, ${name}!`;
}
console.log(greet('Alice')); // 即使在函数声明之前调用,也能正常工作

类声明:class

  • class关键字用于声明类。类是ES6引入的新概念,用于面向对象编程。
  • 类声明不会被提升,因此必须先声明类,然后才能使用它。

示例代码:

class Rectangle {
    constructor(height, width) {
        this.height = height;
        this.width = width;
    }
}
const square = new Rectangle(5, 5);

模块导入和导出:import和export

  • importexport关键字用于在不同的模块之间共享代码。import用于导入其他模块导出的值,而export用于导出模块中的值,使其可以被其他模块导入。
  • 模块系统使得代码组织更加清晰,并且可以实现代码的复用。

示例代码:

// file1.js
export const sqrt = Math.sqrt;

// file2.js
import { sqrt } from './file1.js';
console.log(sqrt(16)); // 输出: 4