浅拷贝和深拷贝相对于引用类型而言的. js有两大类型值类型(基本数据类型)和引用类型(object,function,array): 值类型保存在栈上,引用类型保存在堆上. 浅拷贝只是单纯的拷贝对象的地址. //对象的浅拷贝 var aa = { name: 'aa', age: 26, dx: { dxName: 'dxName', dxAge: 24 } }; var bb = aa; console.log(bb===aa); //true //这里表示是指向的同一个地址 console.…
在 JS 中有一些基本类型像是Number.String.Boolean,而对象就是像这样的东西{ name: 'Larry', skill: 'Node.js' },对象跟基本类型最大的不同就在于他们的传值方式. 基本类型是按值传递,像是这样:在修改a时并不会改到b var a = 25; var b = a; b = 18; console.log(a); console.log(b); 但对象就不同,对象传的是按引用传值: var obj1 = { a: 10, b: 20, c: 30…
operator overloading(操作符重载,运算符重载) 所谓重载就是重新赋予新的意义,之前我们已经学过函数重载,函数重载的要求是函数名相同,函数的参数列表不同(个数或者参数类型).操作符重载也叫运算符重载,顾名思义,运算符重载就是给运算符赋予新的意义,新的使命. 1.首先要说的是,c++中不允许用户自定义运算符,只允许程序员重载运算符. 2.那些运算符可以重载?c++中绝大部分与运算符允许重载,不能重载的运算符有5类, (1) . (成员访问运算符).(2).* (成员指针运算符)(…
问题分类 JavaScript,值引用,地址引用 问题描述 开发过程中,服务端将静态配置数据从mysql数据库中读取到内存中,方便调用. 在实现流派功能时,需从数据库中读取流派种类数据到内存中,由于其中generals字段的值是一个转成了字符串类型的数组,因此需要使用JSON.Parse()解析该字段值,如图: 在实现接口后调用,第一次成功,但是继续请求第二次,就会报错,报错来源是JSON.parse()这里. 原因分析 从报错信息上看,是JSON.parse的对象类型不正确,导致无法parse…
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 数组去重 2.2 数组深拷贝 2.3 字符串反序 三.方法列表 3.1 存取 3.2 字符串 3.3 修改 3.4 ES5 3.5 ES2015(ES6) 3.6 ES2016 一.数组使用 数组不是基本数据类型,但是非常常用,所以提前总结. 基本数据类型是String,Number,Boolean,null…
在一个JS文件中引用另一个JS文件       转载地址:http://blog.csdn.net/zndxlxm/article/details/7875787 方法一 在调用文件的顶部加入下例代码: document.write("<script language=javascript src='js/import.js'></script>"); (注:有时你引用的文件还可能需要引用其他的js,我们需要将需要的那个js文件也以同样的方法引用进来) 方法二…
命名列:通过名称引用列,让公式更容易理解. 下面继续举上次的栗子. 1.历史遗留问题 之前虽然把数字编成了命名单元格,但其中还是有单元格地址B2.C2之类,要理解公式需要找到对应的列标题. 特别是像下面的公式其中充满了数值和单元格地址引用,谁看到都会头疼. 接下来就介绍如何解决公式中存在单元格地址的问题.   2.创建表 在数据区选中一个单元格,然后按Ctrl+T,Excel会选中整个数据区并弹出如下对话框. 这里的数据区中包含标题,所以需要勾选“表包含标题”,点击“确定”按钮即可. 数据区会变…
/*var a = [1,2,3]; var b = [1,2,3]; alert( a == b ); //false*/ //基本类型:赋值的时候只是值得复制 /* var a = 5; var b = a; b+=3; alert(b); alert(a);*/ //对象类型:赋值的时候不仅是值的赋值,而且还有地址的传递. /* var a = [1,2,3]; var b = a; //a和b住一起了,都存了[1,2,3] b.push(4); alert(b); alert(a);*/…
8种基本引用类型 四种整数类型(byte.short.int.long) 两种浮点数类型(float.double) 一种字符类型(char) 一种布尔类型(boolean) 以及如String, final类型的数据类型时. 在方法调用时,属于值传递,在方法中改变了值之后,原始值不会改变. 除了以上之外的数据类型,如自定义的对象,Map,List之类的引用,都是地址引用. 如下demo: import java.util.ArrayList; import java.util.HashMap;…
javascript地址引用 var a = new Object(); a.price = ; var b = a; b.price = ; //b更改了属性值,a的属性值一起会被改变 alert(a.price); //输出170 var b = a; b=; alert(a); //输出170 可以看出object 是引用 学过c++的人知道 是地址 所以跟PHP不一样  PHP前面是要加&代表地址 ps补充下 复制对象 不修改原来对象属性的方法 var a = new Object();…