JavaScript值类型和引用类型有哪些

(1)值类型:数值、布尔值、null、undefined。
(2)引用类型:对象、数组、函数。
四、如何理解值类型和引用类型及举例
我们可以用“连锁店”和“连锁店钥匙”来理解,不知道以下比喻合不合适,-
(1)值类型理解:变量的交换等于在一个新的地方按照连锁店的规范标准(统一店面理解为相同的变量内容)新开一个分店,这样新开的店与其它旧店互不相关、各自运营。

function chainStore()
{
var store1='Nike China';
var store2=store1;
store1='Nike U.S.A.';
alert(store2); //Nike China}
chainStore();
//把一个值类型(也可以叫基本类型)store2传递给另一个变量(赋值)时,其实是分配了一块新的内存空间,因此改变store1的值对store2没有任何影响,因为它不像引用类型,变量的交换其实是交换了指像同一个内容的地址。

(2)引用类型理解:变量的交换等于把现有一间店的钥匙(变量引用地址)复制一把给了另外一个老板,此时两个老板同时管理一间店,两个老板的行为都有可能对一间店的运营造成影响。

function chainStore()
{
var store1=['Nike China'];
var store2=store1;
alert(store2[0]); //Nike China
store1[0]='Nike U.S.A.';
alert(store2[0]); //Nike U.S.A.}
chainStore();
//在上面的代码中,store2只进行了一次赋值,理论上它的值已定,但后面通过改写store1的值,发现store2的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方。 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JS中可以把变量分成两部分,基本类型和引用类型。 JavaScript值类型和引用类型有哪些(1)值类型:数值、布...
    wangxiaoda阅读 977评论 0 2
  • 1.在做ife2015 task2 的题目,关于深度克隆一个目标对象,返回一个完整的拷贝。像我这种没学多少的,以为...
    _v_xw阅读 240评论 0 0
  • 转载自 : http://www.cnblogs.com/lxq1990/archive/2012/11/04/2...
    咖啡加糖a阅读 190评论 0 0
  • 一、写个函数判断输入数是否是闰年 基本思想就是,判断一个年份的2月有没有29号,如果有就是闰年反之则不是闰年利用了...
    凯旋阅读 129评论 0 0
  • 文 | 宝宝妈 每年,我会从婚姻中逃离15天,是一种近于完全的逃离,每天只剩下一个问候的电话。 宝宝刚断奶的那次出...
    颜蓝阅读 328评论 0 0