首页 > 技术文章 > JavaScript(变量、作用域和内存问题)

qjywhat 2018-02-04 22:19 原文

 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指向同一对象,由上述的代码可知。。。。

 

推荐阅读