JavaScript(变量作用域和内存问题)

Posted qjywhat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript(变量作用域和内存问题)相关的知识,希望对你有一定的参考价值。

 JavaScript是一个变量松散型的语言。(不像Java一样强类型语言。)

javascript变量包括两种:基本类型(简单的数据段)和引用类型(对象)。

一、基本数据类型(5种)

Undefined、Null、Boolean、Number、String(按值访问)。

ps:在很多语言中,String都是以对象的形式出现,但是JavaScript就不一样。

二、引用数据类型(按引用访问)

引用数据类型可以动态的给他添加一些属性。(基本数据类型是不可以的呦。

三、复制变量值

1、基本数据类型

var num1=5;
var num2=num1;

下图所示复制过程:

(复制前)                                       

   
num1 5(Number)
   

 

 

 

(复制后)

   
num1

5  (Number)

num2 5  (Number)

 

 

 

 

2、引用数据类型

var obj1=new Object();
var obj2=obj1;
obj1.name="sam";
alert(obj2.name);//"sam"

复制前

   
obj1 (Object类型)
   

 

 

 

复制后

   
obj1 (Object类型)
obj2 (Objectt类型)

 

 

 

讨厌插图片,自行想象obj2并非再次创建一个新的对象,还是和obj2指向同一对象,由上述的代码可知。。。。

 

以上是关于JavaScript(变量作用域和内存问题)的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中变量作用域和内存问题

JavaScript 变量作用域和内存问题

JavaScript高级程序设计学习之变量作用域和内存问题

JS高程4.变量,作用域和内存问题垃圾收集

javaScript之 变量作用域和内存问题

javascript中的变量作用域和内存问题