模块把职责切开:工具函数一个文件,UI 逻辑另一个文件。浏览器原生支持 ES Module。
图:模块之间通过 export / import 连接
// math.js
export function clamp(n, min, max) {
return Math.min(max, Math.max(min, n));
}
// main.js
import { clamp } from "./math.js";
console.log(clamp(120, 0, 100)); // 100
<script type="module" src="./main.js"></script>
注意:模块默认延迟执行、使用严格模式,并且通过 HTTP(S) 加载时路径要正确(本地直接 file 协议常受限)。