node 里两个文件如何使用相同变量?

补充: 我是想在两个文件里都能使用一个变量,1个文件里的变量值改变,另一个也跟着改变。

// 1.js
const num = 1
// 修改 num 值
num += 1
// 2.js
// 这里能取到 num 的值,当 num 修改时,这里的 num 也同步修改。
阅读 1.7k
5 个回答

这是一个很基础的 JS 知识点:
基本类型赋值传递的是值,也就是说基本类型的变量重新赋值之后,是被“装”到了另一个变量里面,不再受原变量的变化影响。

window.num = 1;
setInterval(function(){
    window.num++;
}, 2e3*Math.random());
setInterval(function(){
    console.log(window.num);
}, 1e3);
// 1.js
export let time = 1
setInterval(() => {
    console.log(time, 'time-1')
}, 1000)
// 2.js
import { time } from './1';
setTimeout(() => {
    console.log(time,'time-2');
}, 5000);

文件当中暴露出来的变量,在不同文件当中使用或者修改时,不同文件之间的变量并不会同步。

不过你可以把方法写在两个文件中,然后用一个文件去引入这两个文件暴露出来的方法以及变量,然后再在这个文件中去操作这个值。

引入store

封装成对象试试?

// 1.js
const context = { num: 1 };
export context;
setInterval(() => {
    context.num++;
}, 1000);

// 2.js
import {context} from './1.js';
setInterval(() => {
    console.log(context.num);
}, 1000);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题