zoukankan      html  css  js  c++  java
  • JS 引用类型和值类型

     

    自己的看高程3第五章应用类型的时候,有些迷糊,所以上网搜到这篇文章

    转自求小天的博客园,地址:http://www.cnblogs.com/lxq1990/archive/2012/11/04/2754226.html

    这个比喻很形象,帮助理解。

     

    js 值类型和引用类型

     

    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的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方。
  • 相关阅读:
    javaScript实用的一些方法
    ASP.NETCookies的用法
    SqlCommand执行带参数的sql语句
    C# Excel导出
    sql server复制表
    让Double类型完整显示,不用科学计数法显示E
    jstl fmt功能说明
    工具 PL/SQL 快捷键
    sql server 与 oracle 的不同,第一感觉。
    BigDecimal不整除的一个异常
  • 原文地址:https://www.cnblogs.com/zhangxg/p/4615540.html
Copyright © 2011-2022 走看看