JavaScript:值类型 引用类型
JavaScript类型
(1)值类型:数值、布尔值、null、undefined。
(2)引用类型:对象、数组、函数。
1.string
var str="hongda";
var str2=str;
str2="hongdaqi";
console.log(str);
console.log(str2);
2.Object
String/Number这种的类的对象,它没有其他的属性(string有length,但不能修改),一般都是直接赋值的,但它本身是个object,可以添加属性来查看是否是引用类型。
var str=new String("hongda");
var str2=str;
str.name="omg";
console.dir(str);
console.dir(str2);
修改对象:
var person={name:"hongda",age:};
var man=person;
man.name="hongdada";
console.dir(man);
console.dir(person);
重新赋值一个新的对象:
var person={name:"hongda",age:};
var man=person;
man={name:"hongdada",age:};
console.dir(man);
console.dir(person);
3.Array
var arr=[,,,];
var arr2=arr;
arr[]="hongda";
console.dir(arr);
console.log("");
console.dir(arr2);
一个小题目:
var a=[],b=a;
b[]=;
console.log(a+b); // a=[], b=a, b=[];
console.log(a+b); //
第2个其实数组相加实际上会调用数组的toString方法,然后拼接字符串。
var arr=[,,,];
var arr2=arr;
var str=arr+arr2;
console.log(typeof str);
console.log(str);
JavaScript:值类型 引用类型的更多相关文章
- JavaScript值类型和引用类型有哪些
JavaScript值类型和引用类型有哪些 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数.
- 30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法
一:值类型/引用类型的区别 值类型主要包括简单类型,枚举类型,和结构体类型等,值类型的实例通常被分配在线程堆栈上面变量保存的内容是实例数据本身.引用类型被分配在托管堆上,变量保存的是地址.引 ...
- 数往知来C#之接口 值类型与引用类型 静态非静态 异常处理 GC垃圾回收 值类型引用类型内存分配<四>
C# 基础接口篇 一.多态复习 使用个new来实现,使用virtual与override -->new隐藏父类方法 根据当前类型,电泳对应的方法(成员) -->override ...
- JavaScript 值类型和引用类型的初次研究
今天遇到一个坑,具体的不多说,直接上代码 var a = [ [],[],[1,2,3] ] var b = ['颜色','大小','尺寸'] var arr = [] for(let i = 0; ...
- JAVASCRIPT数据类型(值类型-引用类型-类型总览)
值类型:也称为原始数据或原始值(primitive value). 这类值存储在栈(stack)中,栈是内存中一种特殊的数据结构,也称为线性表,栈按照后进先出的原则存储数据,先进入的数据被压入栈底,最 ...
- javascript 值类型与引用类型
写的比较简单哈,只是用来记忆下 (1)值类型:undefined.null.Boolean.Number和String (2)引用类型:对象.数组.函数
- javascript 值类型和引用类型
值类型 1. 值类型:string/number/boolean/undefined: 2. 存储:值类型的数据,存储的是数据本身的变量: 3. 赋值:直接将存储的数据复制一份进行赋值,两份数据在内存 ...
- JavaScript值类型与执行环境和垃圾处理机制
JavaScript变量分为基本值类型和引用值类型,基本值类型就是以下这五种:Boolean,Number,String,Null,Undefined.基本值类型和引用值类型具有以下特点: 1.基本值 ...
- js的基础(平民理解的执行上下文/调用堆栈/内存栈/值类型/引用类型)
与以前的切图比较,现在的前端开发对js的要求似乎越来越高,在开发中,我们不仅仅是要知道如何运用现有的框架(react/vue/ng), 而且我们对一些基础的知识的依赖越来越大. 现在我们就用平民的方法 ...
随机推荐
- 2018/04/02 PHP 中的浮点数计算问题
首先抛出一个问题 var_dump((0.1 + 0.2) == 0.3); 这个判断是否正确呢? 它的输出是 false 是否和你想的一样呢? -- 浮点精度运算可以说是每个语言都必有的问题.因为这 ...
- 【python-opencv】对象测量
opencv 中轮廓特征包括: 如面积,周长,质心,边界框等 *弧长与面积测量 *多边形拟合 *获取轮廓的多边形拟合结果 python-opencv API提供方法: cv2.moments()用来计 ...
- 如何bitbucket上删除项目
老外网页操作习惯不同,删除项目的按钮,我花了半天,突然瞟到delete,如下图(真他妈的隐蔽,记住这2017/3/7):
- 协作工具 discord 和 slack
discord: https://discordapp.com/ slack: www.slack.com
- python排序函数sort()与sorted()区别
sort是容器的函数:sort(cmp=None, key=None, reverse=False) sorted是python的内建函数:sorted(iterable, cmp=None, key ...
- [LeetCode] 193. Valid Phone Numbers_Easy tag: Bash
Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bas ...
- 机器学习理论基础学习13--- 隐马尔科夫模型 (HMM)
隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的.隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为 ...
- VS2010中如何实现自定义MFC控件
本文简要讲解在VS2010中怎样实现自定义MFC控件的知识,以下是分步骤说明. 一.自定义一个空白控件 1.先创建一个MFC工程 NEW Project-->MFC-->MFC Appl ...
- 在outlook中发邮件判断邮件发送成功的方法
早上给企业发了求职邮件,但是发送的时候,自己发现附件比较大,因为之前比较少使用这个工具来发邮件,所以发送之后没有提醒成功与否,求职心切,内心变得比较紧张. 所以查了查方法,发现了以下解决方案,现备注下 ...
- mysql系统变量查询
mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...