• JS 操作一个数据值


    任何语言都有自己的操作数据的方法;

    Js也不例外,js有3种重要的方式来操作一个数据值。

    1》复制它。例如把它赋给一个新的变量。

    2》把它作为参数传递给一个函数或方法。

    3》可以和其他值比较大小。

    Js通过传值传址2种方式操作这些数据的值

    从名称可以看处,传值 是通过传递值来操作数据。在赋值的过程中,对实际的值进行了拷贝,存储到一个新的变量中。拷贝的值和原来的值是2份完全独立的值。所以如果你改变了拷贝的值,并不会影响原来的值。当比较大小时候,通常进行琢个字节比较。

    传址(传地址) 从名字来看,就是通过传递地址来操作数据。在赋值的过程中,对实际的值的地址(可以说是引用)进行了拷贝,他们不是完全的独立,所以如果你通过引用改变了值,那么原始的值也会改变。当比较大小的时候,通常是看他们是否引用同一个地址来比较。

    简单的传址例子:
    var a = new Date();
    alert(a.getDate());
    var b = a ;
    b.setDate(21);
    alert(a.getDate()) // 输出21 
     
     
    *********************************一般来说***************************************
    基本数据类型通过传值来操作的。(如果忘记了哪些是基本数据类型,可以往回看。)
    对象数据类型通过传址来操作的。(比如 数组和函数)
     
    <script>
    //传值
    a=1;
    b=a;
    b=2;
    alert(a); //输出 1
    //传址
    x=[1,2];
    y=x;  // 赋给y的只是x的一个引用,而不是x本身。数组已经在语句中被赋值了,执行过这段代码后,仍旧只有一个数组对象,只不过我们有2个对他的引用了。
    y[0]=2;
    alert(x[0] +" | " +x[1]);  //输出 2  |  2
    </script>
     
    总结:
    类型
    复制
    传递
    比较
    数字
    传值
    传值
    传值
    布尔
    传值
    传值
    传值
    字符串
    不可变
    不可变
    传值
    对象
    传址
    传址
    传址
    不可变:在JS中,没有方法去改变字符串值的内容。
    对字符串来说,传值还是传址,意义不大。
  • 相关阅读:
    STM32的GPIO工作原理 | 附电路图详细分析
    话说上拉电阻和下拉电阻
    Linux下MySQL数据库常用基本操作
    Linux acpi off学习的必要
    CentOS 6.2出现Disk sda contains BIOS RAID metadata解决方法
    降低开关电源纹波的三个要素
    什么是RFID? 射频识别技术的特点及工作原理!
    亲测可用的国内maven镜像
    Linux 删除文件夹和文件的命令
    [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • 原文地址:https://www.cnblogs.com/wdd-123/p/4778702.html
Copyright © 2020-2023  润新知