js 简单数据类型和复杂数据类型的区别

原始数据类型: number,string,boolean,undefined, null,object

基本类型(简单类型),值类型: number,string,boolean

复杂类型(引用类型):object

空类型:undefined,null

值类型的值在哪一块空间中存储? 栈中存储

引用类型的值在哪一块空间中存储?对象在堆上存储,地址在栈上存储

var num=10;//值类型,值在栈上

var obj={};//复杂类型,对象在堆,地址(引用)在栈

值类型之间传递,传递的是值

引用类型之间传递,传递的是地址(引用)

值类型作为函数的参数,传递的是值

引用类型作为函数的参数,传递的是地址  

function Person(name,age,salary) {
      this.name = name;
      this.age = age;
      this.salary = salary;
    }
    function f1(person) {
      person.name = "ls";
      person = new Person("aa",18,10);
    }

    var p = new Person("zs",18,1000);
    console.log(p.name);//zs
    f1(p);
    console.log(p.name);//is

https://www.cnblogs.com/luckq/p/9681259.html

原文地址:https://www.cnblogs.com/wanguofeng/p/10504090.html

时间: 2024-10-09 14:06:31

js 简单数据类型和复杂数据类型的区别的相关文章

js的基本数据类型和复杂数据类型区别

1.区别 基本数据类型把数据名和值直接存储在栈当中 复杂数据类型在栈中存储数据名和一个堆的地址,在堆中存储属性及值,访问时先从栈中获取地址,再到堆中拿出相应的值 2 不同数据类型作为参数时 函数内部对参数的修改是否改变外部变量的值 基本数据类型作为参数时,函数内部对参数值的修改不会改变外部变量的值 function a(s){//定义以s为参数的函数,返回s的值    s=100;    return s;    }    var y=2;    a(y);//y作为参数调用函数a    con

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

1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值. 2.常见的基本数据类型: Number.String .Boolean.Null和Undefined.基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值.示例: var a = 10; var b = a; b = 20;

js中的简单数据类型和复杂数据类型

Js的数据类型可以分为简单数据类型和复杂数据类型 简单数据类型有5种,Number,String,Boolean,undefined,null 1.Number数字类型 ,在控制台显示颜色位蓝色 整数,浮点数,科学计数法 NaN是Number类型,但是NaN != NaN 2.String字符串型 , 控制台显示黑色 <1>.单/双引号包裹,成对出现 <2>.str.length 获取字符串的长度 <3>.转义字符 \’ , \” , \n(换行) 3.Boolean

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

1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值. 2.常见的基本数据类型: Number.String .Boolean.Null和Undefined.基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值.示例: var a = 10; var b = a; b = 20;

JS中的变量和数据类型

所谓变量,就是里面存储的数据是可以改变的. 在使用变量之前,我们需要先声明变量.声明变量的关键字有var  let   const 在ES里面声明变量可以使用var,如下: //var 变量名 var i; 如果声明了一个变量,但是没有给该变量赋值,那么该变量默认的值为undefined var i; console.log(i); //undefined 初始化 所谓初始化,就是给变量进行第一次赋值 var i; i=5;//初始化 console.log(i); 变量的声明和初始化是可以同时

基本数据类型与引用数据类型的区别 2015-07-30

百度搜到的两篇文章: 第一篇 java中的数据类型分为两大类:基本数据类型和引用数据类型 基本数据类型,包括数值型,字符型和布尔型. 数值型:1)整型:byte 1个字节:short 2个字节:int 4个字节:long 8个字节. 2)浮点型:float 4个字节;double 8个字节:可以采用十进制和十六进制两种表示方式,其中十六进制表示方法只能采用科学计数法,例如:0x1.2p3,表示的是的是1乘以16加上2乘以16的-1次方的和乘以2的三次方:浮点型的默认类型为DOUBLE型,如果声明

重操JS旧业第二弹:数据类型与类型转换

一 数据类型 1 js中的数据类型 1.1 数据类型列举 1)number类型 2)boolean类型 3)string类型 4)对象类型 5)函数类型 6)undefined类型 1.2 数据类型获取 typeof :注意这个并不是一个函数,而是一个操作符,怎么使用? typeof 'asd'  结果:string 2 各种类型详解 2.1 number类型 2.1.1概念理解:即所有实数,包括整型,浮点型,这个很好理解,但是有个特例 2.1.2特殊NaN:NaN本身是一个number类型,但

java基本数据类型传递与引用传递区别详解

Java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给方法(或函数)的两个专业术语: 按值调用(call by value) 按引用调用(call by reference) 所谓的按值调用表示方法接收的是调用着提供的值,而按引用调用则表示方法接收的是调用者提供的变量地址(如果是C语言的话来说就是指针啦,当然java并没有指针的概念).这里我们需

java基本数据类型传递与引用传递区别

文章转载自  zejian的博客http://blog.csdn.net/javazejian/article/details/51192130 java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么我们先来回顾一下在程序设计语言中有关参数传递给方法(或函数)的两个专业术语: 按值调用(call by value) 按引用调用(call by reference) 所谓的按值调用表示方法接收

JAVA中分为基本数据类型及引用数据类型(问题:堆和栈的区别,系统根据什么区分堆栈内存)

一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0 long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数