Javascript 模块化三种方案

本文介绍了JavaScript中三种主要的模块化方案:CommonJS、AMD/CMD和ES6,并对比了function、class与module的不同之处。JavaScript通过原型链实现面向对象编程,并在ES6中引入了class语法糖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Javascript 模块化主要有三种方案:
1、CommonJS// module add.js
module.exports = function add (a, b) { return a + b; }

// main.js
var {add} = require(’./math’);
// i hate sync
console.log('1 + 2 = ’ + add(1,2);

  1. AMD / CMD// module add.js
    define(function () {
    return {
    add: function (a, b) add { return a + b; }
    };
    });

// main.js
require([‘add’], function (add) {
//i hate callback
console.log('1 + 2 = ’ + add(1,2);
});

3、ES6// module add.js
export function add (a, b) { return a + b; }

// main.js
// i hate static
import {add} from ‘add.js’;
关于题主描述中的:“在此想问下,JS中的function{}难道不是“块”吗? function和class以及module究竟有哪些区别呢?”答案是 function、class 和 module 没有相同点。虽然 JavaScript 不是基于 class 的面向对象语言,但是通过原型链可以模拟。(并且 ES6 提供了 class 关键字作为语法糖。)虽然 JavaScript 语言层面并没有在(ES6之前的)上提供模块化的支持,所谓支持 module 指的是类似 C 语言中的 include 或 Go 语言的 import 。(并且 ES6 提供了模块化,并且使用了 import 关键字。)
https://www.jianshu.com/p/858d3e270f26

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值