You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将JS文件中的数组传递至另一个JS文件?

当然有可行的办法啦!根据你的项目环境,我整理了几种常用的实现方案,你可以按需选择:

方案1:全局变量(适合传统无模块化的小型项目)

如果你的项目还没用到模块化方案,最简单的方式就是把数组挂载到浏览器的全局对象window上。只要保证文件1在文件2之前加载,文件2就能直接访问这个全局变量:

// 文件1.js
var array = ["random", "Stuff"];
window.sharedArray = array; // 把数组挂载到全局
// 文件2.js
console.log(window.sharedArray); // 就能拿到 ["random", "Stuff"] 啦

⚠️ 小提醒:这种方式虽然简单,但容易造成全局命名空间污染,大型项目里尽量少用哦。

方案2:ES模块(现代前端项目首选)

现在主流的前端项目都支持ES模块了,这是最规范的模块化方案,完全不会有全局污染的问题:

首先在文件1里导出数组:

// 文件1.js
export const array = ["random", "Stuff"];

然后在文件2里导入这个数组:

// 文件2.js
import { array } from './文件1.js'; // 注意路径要正确
console.log(array);

最后别忘了在HTML引入脚本时加上type="module",告诉浏览器这是ES模块:

<script type="module" src="文件1.js"></script>
<script type="module" src="文件2.js"></script>

这种方式支持tree-shaking,代码更干净,是现代项目的首选方案。

方案3:CommonJS模块(Node.js或旧版打包项目)

如果你的项目是Node.js环境,或者用了Webpack、Browserify这类支持CommonJS的打包工具,可以用这种方式:

文件1导出数组:

// 文件1.js
// 方式1:直接导出整个数组
module.exports = ["random", "Stuff"];
// 方式2:导出单个变量(更灵活)
exports.array = ["random", "Stuff"];

文件2导入:

// 文件2.js
// 对应方式1
const array = require('./文件1.js');
// 对应方式2
const { array } = require('./文件1.js');
console.log(array);
方案4:localStorage/sessionStorage(适合跨页面或持久化需求)

如果需要数组在页面刷新后还能保留,或者在同一个域名的不同页面间共享,可以用浏览器的本地存储:

文件1把数组存到localStorage(注意要转成字符串,因为localStorage只能存字符串):

// 文件1.js
var array = ["random", "Stuff"];
localStorage.setItem('sharedArray', JSON.stringify(array));

文件2读取并转成数组:

// 文件2.js
const storedStr = localStorage.getItem('sharedArray');
const array = JSON.parse(storedStr);
console.log(array);

⚠️ 注意:这种方式存储的数据是公开的,不要用来存敏感信息;而且如果数组里有函数、Symbol这类无法序列化的内容,JSON.stringify会丢失哦。


内容的提问来源于stack exchange,提问作者The Cool Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 16:07:28