zoukankan      html  css  js  c++  java
  • js的简单数据类型和复杂数据类型

    简单数据类型又被叫做基本数据类型或者值类型,存储变量时存储的是值本身,

    string,number,boolean,undefined,null; 

    特殊情况:简单数据类型null的返回值为一个空的对象object;

    复杂数据类型

    通过new关键字创建的对象(系统对象,自定义对象),如Object,Array,Date;

    堆和栈

    栈(操作系统):由操作系统自动分配释放存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈,简单数据类型存放到栈里面·栈里直接开辟一个空间用来存放存入的值

    堆(操作系统):存储复杂类型(对象),一般由程序员分派释放,若程序员不释放,由垃圾回收机构回收,复杂数据类型存放到堆里面,首先在栈里面存放地址,十六进制表示,然后这个地址指向堆里面的数据。

    注意:JavaScript里面并没有堆栈的概念,通过堆栈,可以帮助更好的理解代码的执行方式

    简单数据类型传参

    函数的形参也可以看作是一个变量,当我们把一个值类型变量作为参数传递给函数的形参时,其实是把变量在栈空间的值复制了一份给形参,那么在方法内部对形参做修改,都不会影响外部变量

     function fn(a){
                    a++;
                    console.log(a);
                }
                var x=10;
                fn(x);
                console.log(x);
                //输出的值为11,10

    复杂数据类型传参

    函数的形参也可以看作是一个变量,当我们把一个引用类型变量传递给函数的形参时,其实是把变量在栈空间保留的堆地址复制给了形参,形参和实参其实保留的是同一个堆地址,所以操作的是同一个对象。

  • 相关阅读:
    OLAP ODS项目的总结 平台选型,架构确定
    ORACLE ORA12520
    ORACLE管道函数
    ORACLE RAC JDBC 配置
    ORACLE RAC OCFS连接产生的错误
    ORACLE 启动和关闭详解
    OLAP ODS项目的总结 起步阶段
    ORACLE RAC 配置更改IP
    ORACLE RAC OCR cann't Access
    ORACLE RAC Debug 之路 CRS0184错误与CRS初始化
  • 原文地址:https://www.cnblogs.com/echol/p/12483766.html
Copyright © 2011-2022 走看看