您的位置:首页 > Web前端 > JavaScript

javaScript 变量 作用域和 内存问题

2017-05-10 13:48 197 查看
1:查缺补漏

2:变量

3:作用域

4:内存问题

1:查缺补漏

1.1:变量是保存数据的容器

1.2:变量的命名规则和建议

1.3:变量的生命

2:变量



3:作用域

3.1:作用域有全局作用域和局部作用域

3.2:作用域链是用来查询变量的

3.3:js解析机制

4:内存问题

4.1:离开作用域的值将被标记可回收将在垃圾回回收期间删除

4.2:标记清楚是目前主流的垃圾收集算法

4.3:标记清楚就是非不用的值标记,然后回收期其内存

4.4:引用计数算法可能因为循环问题得不到释放

4.5:当变量不用的时候,可以手动接触它的引用

//////////////////////////////////////

补充

1:命名规则 变量名可以使用 ¥ _ 字母和数字,但是不能以数字开头。

2:js中变量名严格区分大小写,不能命名关键字和保留字

3:建议具有语义化的变量命名

4:基本类型 Null,Stirng,Boolean,Number,Undefined,

5:引用类型:[],{},function。

6:引用类型的值不可以修改,引用类型的数值可以修改。

7:所有对字符串操作的方法,不是在原来字符串上面修改,而是生成新的字符串。

8:数据保存在内存中,内存中有栈和堆 ,栈大小固定,堆空间大小不固定

9:基本类型保存在栈中,引用类型保存在堆中通过栈中的地址指针找到堆中的数据。

10:在传递参数过程总,不管是基本类型还是引用类型都是按值传递 。

11:类型检测 基本类型检测 typeop 引用类型检测instanceof

12:js在预解析过程中,会对var 声明的变量和function函数进行预解析,当var生命的变量 和function名称冲突的时候,预解析的过程是保留function,当function又发生冲突的时候,保留最后的函数。

13:js在执行过程中,先进行预解析然后进行逐行的命令执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript