相当新的Javascript。
想象一下,我有一个Javascript文件:Book.js
,其中我只有一些全局变量:var globalVar = 0;
想象一下,我还有两个单独的html文件:A.html和B.html,两者都使用上面的脚本:例如内有<script src="src/model/Book.js"></script>
。
globalVar
被定义了。 然后我增加了使用控制台。 globalVar
保留其值(因为我在Book.js文件中声明它是全局的,而B.html也加载了Book.js)但它是未定义。这是预期的吗?
是否意味着全局变量的范围在一个html页面内?
显然第二次加载Book.js
脚本时,在上一次调用Book.js期间声明的变量“消失了”。
答案 0 :(得分:2)
这是预期的吗?
是
是否意味着全局变量的范围在一个html页面内?
它更类似于每个页面都是一个新程序(并且重新加载一个页面类似于退出程序然后再次运行它。)
所以这意味着如果你想访问在其他页面中声明的变量,你必须使用localStorage或类似的东西吗?
是。这就是为什么创建localStorage的原因。
答案 1 :(得分:0)
是的,Javascript正在一页加载,无法以这种方式更改,因为您正在从服务器重新加载它。基本上,每个页面都是不同的过程。
但是,您可以使用许多解决方法,如:
如果你使用复杂的应用程序,你可以在后面管理你的gobal变量