Javascript 如何使全局变量只用于两个页面中的一个

Javascript 如何使全局变量只用于两个页面中的一个,javascript,Javascript,当用户离开页面的singup部分时,不再需要全局设置 我如何摆脱它…这样它就不会浪费内存了 它在全局命名空间中声明如下: var local = { client_validation:1, persistent_element:'hide_1' }; 假设您仍然可以访问该变量,则应注意: if (page_var){ page_var = null; } 假设您仍然可以访问该变量,则应注意: if (page_var){ page_var =

当用户离开页面的singup部分时,不再需要全局设置

我如何摆脱它…这样它就不会浪费内存了

它在全局命名空间中声明如下:

var local =  
  {  
  client_validation:1, 
  persistent_element:'hide_1' 
  }; 

假设您仍然可以访问该变量,则应注意:

if (page_var){
    page_var = null;
}

假设您仍然可以访问该变量,则应注意:

if (page_var){
    page_var = null;
}

我不知道你所说的“如何使一个全局变量只用于两页中的一页”是什么意思。全局变量在当前页面中仅为“全局”。如果您导航到另一个页面,它们将与您离开的页面上的所有其他内容一起自动消失

无论如何,如果某个数据结构占用了内存,那么如果删除了对该结构的所有引用,则可以允许垃圾收集器回收内存

在您的情况下,以下任一语句都可以:

global.page_var = null;
// or
delete global.page_var;

(假设没有其他变量或闭包引用相同的数据结构。)

我不知道您所说的“如何使全局变量只用于两个页面中的一个页面”是什么意思。全局变量在当前页面中仅为“全局”。如果您导航到另一个页面,它们将与您离开的页面上的所有其他内容一起自动消失

无论如何,如果某个数据结构占用了内存,那么如果删除了对该结构的所有引用,则可以允许垃圾收集器回收内存

在您的情况下,以下任一语句都可以:

global.page_var = null;
// or
delete global.page_var;


(假设没有其他变量或闭包引用相同的数据结构。)

您认为这会浪费多少内存?答案是不要把它放在页面上。注意内存使用是很好的,但是担心一个JavaScript变量是多余的。我想你应该读一下这个问题-@mrtsherman I;如果一个页面不需要该变量,请不要将其放在页面上。这是唯一一个保证不依赖JS引擎和任何JITting的跨浏览器解决方案。
var global={var page_var;}
是无效的JavaScript。此外,定义
全局
命名空间很容易与作用域混淆。您认为这会浪费多少内存?答案是不要把它放在页面上。注意内存使用是很好的,但是担心一个JavaScript变量是多余的。我想你应该读一下这个问题-@mrtsherman I;如果一个页面不需要该变量,请不要将其放在页面上。这是唯一一个保证不依赖JS引擎和任何JITting的跨浏览器解决方案。
var global={var page_var;}
是无效的JavaScript。此外,定义一个
全局
名称空间很容易与范围混淆。这并不意味着居高临下,但我可以看到它是如何被采用的,所以我改变了它。好的,不用担心。我删除了我以前的评论。我对OP的唯一补充是要小心,不要取消设置其他东西使用的全局变量(可能,使用另一种方法代替)。我认为最好的解决方案可能是不使用它。OP关注的是内存使用,在这种情况下可以忽略不计。这并不意味着屈尊俯就,但我可以看到它是如何被接受的,所以我改变了它。好的,不用担心。我删除了我以前的评论。我对OP的唯一补充是要小心,不要取消设置其他东西使用的全局变量(可能,使用另一种方法代替)。我认为最好的解决方案可能是不使用它。OP关心的是内存使用情况,在这种情况下可以忽略不计。确定只需删除它或在完成时将其设置为null。确定只需删除它或在完成时将其设置为null。