Javascript 值类型和引用类型

本篇文章由:http://xinpure.com/javascript-value-types-and-reference-types/

Javascript变量类型

  1. 值类型: 字符串、数字、布尔、Null、Undefined

  2. 引用类型: 数组、对象、函数

值类型与引用类型的比较

通过两个实例来比较这两种类型 (调试环境: Chrome 开发者工具 Console)

值类型实例

var a = 'hello';
var b = a;
b;          /* hello */
a = 'world';
b;          /* hello */

值类型的变量赋值过程,其实是分配了一块新的内存空间,值相同但两者互不干扰

引用类型实例

/* 对象或数组 */
var a = {"x": 0};
var b = a;
b.x;            /* 0 */
a.x = 1;
b.x;            /* 1 */

a = {"x": 2};   /* 此时,a 指向了另一块内存空间,b 的值将不受干扰 */
b.x;            /* 1 */
a.x = 3;
b.x;            /* 1 */

/* 函数 */
var a = new Function("alert('test')");
var b = a;
b();            /* 执行 alert('test') */

引用类型的变量赋值过程,是将两个变量指向了同一块内存空间,其中一个变量值的改变都会引起另一个变量值的改变

posted @ 2015-04-20 11:49  xinpureZhu  阅读(141)  评论(0编辑  收藏  举报