JS之数据_变量_内存v(**V**)v

Posted junxiaobai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS之数据_变量_内存v(**V**)v相关的知识,希望对你有一定的参考价值。

 1  <script >
 2     //*Q:在JS调用函数传递的参数时,到底是值传递还是引用传递
 3     //*A:理解一:都是值(基本/地址值)传递
 4     //    理解二:可能是值传递,也可能是引用传递(地址值)
 5     //*Q:JS引擎如何管理内存?
 6     //*A:分配一块小内存,得到他的使用权
 7     //    存储数据,可以反复进行操作
 8     //    释放小内存空间
 9     //小知识点:释放内存
10     //    局部变量:函数执行完自动释放
11     //    对象:成为垃圾对象==>垃圾回收器回收
12    var a=3//这里的a是一个变量(全局变量)
13     function fn (a) {//这里的a是另一个变量(局部变量),这里有一步:a=a(前面的是局部变量后面的是全局变量)
14       a=a+3//左边是写右边是读,这里的a是一个垃圾数据,没有被引用,所以输出的是3
15     }
16     fn(a)//这里操作的a是3
17     console.log(a)//输出的是3
18 
19     function fn2 (obj) {
20       console.log(obj.name)
21     }
22     var obj={name:‘Tom‘}
23     fn2(obj)
24 
25     var a=3//这里a=3占用一个内存空间
26     var obj={}//这里obj占用一个内存空间,{}占用一个内存空间
27     objj=null//这里释放了对象的空间,而obj空间没有被释放
28 
29     function fn3 () {
30       var b={}//局部变量执行到这里的时候没又将b的值放到内存中,要执行到fn的才将b的值放到内存中,函数执行完就会释放
31     }
32     fn()//这里b被释放,b指向的对象被垃圾回收器回收
33   </script>

 

以上是关于JS之数据_变量_内存v(**V**)v的主要内容,如果未能解决你的问题,请参考以下文章

JS之数据_变量_内存v(**V**)v

如何在 R 中排除 group_by 中的值

016_linux驱动之_原子操作

这里是不是需要内存屏障“*pEnd_ = v; __sync_synchronize (); ++pEnd_;”?

tips___代码规范

Mongoose.js 除了 _id & __v 默认来自查询结果