补充: 我是想在两个文件里都能使用一个变量,1个文件里的变量值改变,另一个也跟着改变。
// 1.js
const num = 1
// 修改 num 值
num += 1
// 2.js
// 这里能取到 num 的值,当 num 修改时,这里的 num 也同步修改。
补充: 我是想在两个文件里都能使用一个变量,1个文件里的变量值改变,另一个也跟着改变。
// 1.js
const num = 1
// 修改 num 值
num += 1
// 2.js
// 这里能取到 num 的值,当 num 修改时,这里的 num 也同步修改。
// 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);
文件当中暴露出来的变量,在不同文件当中使用或者修改时,不同文件之间的变量并不会同步。
不过你可以把方法写在两个文件中,然后用一个文件去引入这两个文件暴露出来的方法以及变量,然后再在这个文件中去操作这个值。
封装成对象试试?
// 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);
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
这是一个很基础的 JS 知识点:
基本类型赋值传递的是值,也就是说基本类型的变量重新赋值之后,是被“装”到了另一个变量里面,不再受原变量的变化影响。