当前端请求返回数据存到哪了?‍♂️(浏览器内存)

✨背景

哈喽,我是前端JLong?,日常开发中,请求接口对我们来说是很经常的事情,我们经常把请求返回数据存储在js的对象中,但是相对于系统或者浏览器,这部分数据存放在哪会比较模糊,这里总结分享一下

✨axios、xmlHTtprequest等发出请求获取的数据存储在哪?

在使用axios或XMLHttpRequest等发出请求获取数据后,数据通常会存储在浏览器内存中,具体来说,这些数据会被存储在JavaScript中的变量中。

例如,在使用axios发出GET请求获取数据后,可以通过以下代码将响应数据存储在一个变量中:

javascript复制代码
	axios.get('/api/data')  

	  .then(function (response) {  

	    var data = response.data;  

	    // 在这里可以使用data变量来处理响应数据  

	  })  

	  .catch(function (error) {  

	    // 处理错误  

	  });

在这个例子中,response.data就是响应数据,它会被存储在一个变量data中。

需要注意的是,这些数据只在当前页面的JavaScript上下文中有效。如果你打开了另一个页面或重新加载了当前页面,这些数据就会被销毁。如果你需要在多个页面或多个请求之间共享数据,你需要使用其他方法,如使用localStorage或sessionStorage来存储数据。

✨浏览器内存

浏览器内存是指浏览器在执行JavaScript时使用的本地内存。当浏览器向服务器发出请求获取数据时,响应数据会被存储在浏览器内存中,以便后续的操作和处理。

浏览器内存通常被分为两种类型:

  1. 堆内存(Heap Memory):也称为对象池,用于存储JavaScript中的对象、数组、函数等引用类型的数据。堆内存中的数据是通过引用传递的,即当一个变量引用一个对象时,这个对象会被存储在堆内存中。当一个变量被重新赋值时,原来对象所占用的内存空间并不会被立即释放,而是等待垃圾回收器进行回收。
  2. 栈内存(Stack Memory):也称为基本类型栈,用于存储JavaScript中的基本类型数据(如数字、字符串、布尔值等)和函数。栈内存中的数据是通过值传递的,即当一个基本类型数据被声明时,它会被存储在栈内存中。当一个函数被调用时,它的参数和局部变量也会被存储在栈内存中。在函数执行完毕后,这些参数和局部变量的内存空间会被立即释放。

除了堆内存和栈内存,浏览器内存还包括代码缓存(Code Cache)和位运算缓存(Bit-shift Cache),它们分别用于存储已经解析过的JavaScript代码和位运算结果,以提高执行效率。

需要注意的是,浏览器内存是有限的,如果程序占用了过多的内存,会导致浏览器崩溃或变慢。因此,在编写JavaScript代码时,需要注意内存的使用情况,避免出现内存泄漏等问题。

限制: 取决于取决于操作系统和浏览器本身

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY7o7AbD' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片