精华内容
下载资源
问答
  • js中的引用数据类型
    2022-04-14 23:21:15

    js中引用数据类型和基本数据类型的区别?

    1:内存空间 2:对值的操作 3:变量的赋值

    《javascript高级程序设计》中对于二者的定义是:基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。
    基本数据类型包括:string number boolean null undefined symbol
    引用类型包括:array object function

    1:内存空间
    我们将js的内存分为栈内存和堆内存;基本类型存放于栈内存中,包括变量以及变量的值。
    引用类型是大小不固定的数据,但是他们的地址大小是固定的,所以把地址存在栈中而值存在堆中

    2:对值的操作
    基本类型值:按值访问,操作的是他们实际保存的值
    引用类型:按引用访问,当查询时我们需要从栈中读取内存地址,然后再找到保存再堆内存中的值。对于引用类型的值,我们可以给其添加属性和方法,也可以改变和删除其属性的方法。

    3:变量的赋值
    基本类型变量的复制:从一个变量向另一个赋值时,会在栈中创建一个新值,然后把值复制到为新变量分配的位置上。
    引用类型变量的复制:赋值的是存储在栈中的指针,将指针复制到栈中为新变量分配的空间中,而这个指针副本和原指针指向存储在堆中的同一个对象,复制操作结束后,两个变量实际上将引用同一个对象,因此改变其中一个,将影响另一个。

    更多相关内容
  • 本文实例讲述了JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别。分享给大家供大家参考,具体如下: js数据类型:基本数据类型和引用数据类型(文章最下面会介绍各类型的基础以及注意事项) 基本数据类型指...
  • JS 尚硅谷 网课自学笔记 两种数据类型的简略介绍与比较

    知识点:

            基本数据类型:String Number Boolean Null Underfined

            引用数据类型:Object

    Js中的变量都是保存在栈内存中的,

            - 基本数据类型的值直接在栈内存中存储,

              值与值之间独立存在,修改一个变量不会影响其他的变量

     

            - 对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,

            而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当一个对象通过变量修改属性时,另一个也会受到影响


    对象知识补充

    1.将对象的地址赋空

    obj2=null;                //设置obj2为null

    console.log(obj);     //输出[object object]

    console.log(obj2);   //输出 null

     

             即,将obj2的地址赋值为null,

    2.不同对象相同属性值的比较(地址不同)

    //两个同值变量的比较 
      var c =10;
      var d =10;
      console.log(c==d);          //输出true
    
    //两个同值对象的比较
      var obj3 =new Object();
      var obj4 =new Object();
      obj3.name='张三';
      obj4.name='张三';
      console.log(obj3==obj4);              //输出false,比较两对象的地址,不同
      console.log(obj3.name==obj4.name);    //输出ture,比较两对象属性的值,相同

    总结:     当比较两个基本数据类型的值时,就是比较值,

                    而比较两个引用数据类型时,它是比较的对象的内存地址,如果两个对象一模一样,但是地址不同,也会返回false。

    展开全文
  • 大家都知道在JS中数据类型按照访问方式和存储方式的不同可分为基本类型和引用类型。这篇文章主要介绍了JS中的两种数据类型以及实现引用类型的深拷贝 ,需要的朋友可以参考下
  • 前两天看到kraaas大神的关于基本数据类型引用类型的区别的文章觉得写得非常不错,就想着在其基础上加上自己平时看到的一些知识点和理解,所以就有了以下的文章 js基本数据类型包括:undefined,null,number,boolean...
  • js引用数据类型

    2022-03-23 19:35:23
    文章目录一、引用数据类型之普通对象(object)语法:属性名和属性值1、属性值的获取2、增、改3、删除4、属性名是数字格式注意: 提示:以下是本篇文章正文内容,下面案例可供参考 一、引用数据类型之普通对象...


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、引用数据类型之普通对象(object)

    把多组键值对用大括号包起来 ,并且属性与属性之间用“逗号”进行分割

    语法:

    var obj={
          属性名1:属性值,
          属性名2:属性值
           ......
    }
    
    var obj={
       "name":"lili",
       "age":18
      
    }
    

    属性名和属性值

    ● 属性名:就是用来描述某种特征或者特点的名字,(又被称作键,key)
    ● 属性值:就是这个特征的具体值(又被称作值,value)
    ● 合称键值对
    基本操作:增、删、改、查

    1、属性值的获取

    对象的属性名一般都是字符串格式(还可以是数字格式),属性值可以是任意类型数据
    ● 对象.属性名;
    ● 对象[‘属性名’];

    注意:如果对象里面没有这个属性名,得到的值就是“undefined”

    var obj={
       "name":"lili",
       "age":18
    }
    
    console.log(obj.name);
    console.log(obj["name"])
    

    2、增、改

    对象的属性名(键)是不允许重复的,之前没有这个属性则为新增,之前有这个属性,则是修改对应的属性值
    如果原来的对象中没有那个属性名,就是新增,如果有就是修改

    var obj={
       "name":"lili",
       "age":18
    }
    
    obj.name="dawei";====>修改
    obj.sex="男"=====》 增加
    console.log(obj)
    
    

    3、删除

    ● 彻底删除 delete 对象[“属性名”]
    ● 只是让对象中的属性值为空, obj[“属性名”]=null;

    var obj={
       "name":"lili",
       "age":18
    }
    
    delete obj["age"];
    obj.name=null;
    console.log(obj);
    

    4、属性名是数字格式

    对象的属性名只能是数字或者字符串,如果是数字的话不能用obj.数字,会报错:
    Uncaught SyntaxError: Unexpected number; //语法错误

    注意:

    ● 对象的属性名不能是引用数据类型值
    ○ 基于 对象[属性名] 的方式操作,需要保证属性名是一个值(字符串/数字/布尔等都可以),如果不是值而是一个变量,它会把变量存储的值作为对象的属性名进行操作
    ○ 基于 对象.属性名 的方式操作,属性名就是点后面的

    展开全文
  • 基本数据类型(值类型,按值访问):字符串、数字、布尔值、null、undefined、Symbol 引用数据类型(按引用访问):对象(Object)、数组(Array)、函数(Function)基本类型数据的变量直接存在栈,而引用数据类型的变量,...

    基本数据类型(值类型,按值访问):字符串、数字、布尔值、null、undefined、Symbol 引用数据类型(按引用访问):对象(Object)、数组(Array)、函数(Function)

    基本类型数据的变量直接存在栈中,而引用数据类型的变量,其地址存在栈中,数据存在堆中,通过栈中的这个地址访问堆内的数据。

    // 基本数据类型
    var a = 1;
    var b = a;
    b = 3;
    console.log("a=" + a, "b=" + b); // a=1,b=3
    
    // 引用数据类型1
    var arr1 = [1, 2, 3];
    var arr2 = arr1;
    arr2 = [5, 4, 3, 2, 1];
    console.log("arr1:", arr1); // arr1:[5, 4, 3, 2, 1]
    console.log("arr2:", arr2); // arr2:[5, 4, 3, 2, 1]
    
    // 引用数据类型2
    var obj1 = {
      name: "xiaoming",
      age: 18,
    };
    var obj2 = obj1;
    obj2.age = 20;
    console.log("obj1:", obj1); // {name: 'xiaoming', age: 20}
    console.log("obl2:", obj2); // {name: 'xiaoming', age: 20}

    如果使用赋值符号(=)进行了重新赋值,即改变了引用数据类型变量的地址

        var obj1={
            name: 'qiqi',
            age: 17
        }
        var obj2 = obj1
        obj1 = {
            name: 'xiaosi'
            age: 19
        }
        console.log(obj1)
        //obj1 = {name: 'xiaosi',age: 19 }
        //obj2 = {name: 'qiqi',abe: 17}
    展开全文
  • JavaScript的基本类型中数据可以是常量,也可以变量。由于JavaScript采用弱类型的形式,因而一个数据的变量或常量不必首先作声明,而是在使用或赋值时确定其数据的类型的。当然也可以先声明该数据的类型,它是...
  • js中的对象是引用类型 使用 == /=== 已经无法判断两个对象的属性和值是否相等 函数封装 // 对比两个对象的值是否完全相等 返回值 true/false let isObjectValueEqual = (a, b)=>{ //取对象a和b的属性名 ...
  • javascript中对象的定义,对象的分类(内建对象,宿主对象,自定义对象),对象的两种创建方法,对象的属性名和属性值,in运算符的作用,以及基本数据类型和引用数据类型的比较。
  • ECMAScript变量包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值是简单的数据段,而引用类型值指那些可能由多个值构成的对象。 在将一个值赋给变量时,解析器必须确定这个值是基本类型还是引用类型。...
  • 基本数据类型:String、Number、Boolean、undefined、null、Symbol(ES6)引用数据类型:Object、Array、Function、Date基本数据类型存储在栈,栈用于存储基本数据类型和执行代码引用数据类型存储在堆有...
  • JavaScript中基本数据类型和引用数据类型的区别 1、基本数据类型和引用数据类型  ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。  基本数据类型指的是简单的数据段,引用数据类型指的是有多个...
  • 其余7种可以笼统的分为两大类:基本数据类型和引用数据类型。 基本数据类型:string(字符串)、number(数字)、boolean(布尔)、null(空)、undefined(未定义)、symbol(符号) 引用数据类型:objec...
  • js中基础数据类型和引用数据类型的区别 简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型 基础数据类型:在存储时变量存储的是值本身 引用数据类型:存储时变量存储的是地址 内存有堆和栈的区别...
  • js数据类型
  • 基本数据类型:String、Number、 Boolean、 undefined、 null、 symbol、 BigInt 引用数据类型:Object、对象子类型(Array,Function)1、Number 2、null 和 undefined 结果:
  • 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol 引用数据类型:对象(Object)、数组(Array)、函数(Function)
  • 文章目录js的数据类型划分方式为 原始数据类型(基础数据类型)和 引用数据类型两种类型的区别1.存储位置不同2.传值方式不同3.两种数据类型在实参和形参的区别 js的数据类型划分方式为 原始数据类型(基础数据类型...
  • JS基本数据类型与引用数据类型

    千次阅读 2022-04-04 15:48:33
    JavaScript中的数据类型分为基本数据类型和引用数据类型,那么哪些是基本类型,哪些是引用类型,以及它们的区别是什么呢? 基本数据类型 基本数据类型共有6种,包括String、Number、Boolean、Null、undefined以及...
  • js 基本数据类型和引用数据类型

    千次阅读 2021-02-26 13:42:39
    引用数据类型:Object(在JS中除了基本数据类型以外的都是对象,数据是对象,函数是对象,正则表达式是对象) 2、基本数据类型(存放在栈) 基本数据类型是指存放在栈的简单数据段,数据大小确定,内存空间大小...
  • JavaScript和ECMAscript的...ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。 当我们把变量赋值给一个变量时,解析器...
  • JS数据类型之引用数据类型

    万次阅读 2019-06-28 16:46:51
    1、引用数据类型也就是对象数据类型object,比如:object、array、function、data等; 2、引用类型的值可以改变: let person = {name: 'lisa'} person.name = 'Jane' // 通过修改对象属性值更改对象 console....
  • javascript中的基本数据类型有:string(字符串)、number(数字)、boolean(布尔)、null(对空)、undefined(未定义); 引用数据类型有:object(对象)...引用数据类型的变量和引用地址存储在栈,引用对象存储在堆。 ...
  • 1、基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。 当我们把变量赋值给一个变量时,解析器...
  • 惊呼!JavaScript基本数据类型和引用数据类型详解

    千次阅读 多人点赞 2021-06-01 09:56:55
    JavaScript中基本数据类型和引用数据类型 目标 理解基本数据类型和引用数据类型的定义 理解堆和栈 数据类型分为哪些 定义 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。  基本数据类型指的是...
  • 2.引用数据类型有:(也可以说是对象,对象是属性和方法得集合 Object、Function、Array、RegExp、Date、以及单体内置对象(Global、Math) 二、两者使用区别 1.实际操作得对象 基本类型:按值访问,操作的是保存在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 248,479
精华内容 99,391
热门标签
关键字:

js中的引用数据类型