javascript的字符串按引用复制和传递,按值来比较介绍与应用


Posted in Javascript onDecember 28, 2012

按值和按引用的比较
Numbers 和 Boolean 类型的值 (true 和 false) 是按值来复制、传递和比较的。当按值复制或传递时,将在计算机内存中分配一块空间并将原值复制到其中。然后,即使更改原来的值,也不会影响所复制的值(反过来也一样),因为这两个值是独立的实体。

对象、数组以及函数是按引用来复制、传递和比较的。 当按地址复制或传递时,实际是创建一个指向原始项的指针,然后就像拷贝一样来使用该指针。如果随后更改原始项,则将同时更改原始项和复制项(反过来也一样)。实际上只有一个实体;“复本”并不是一个真正的复本,而只是该数据的又一个引用。

当按引用比较时,要想比较成功,两个变量必须参照完全相同的实体。例如,两个不同的 Array 对象即使包含相同的元素也将比较为不相等。要想比较成功,其中一个变量必须为另一个的参考。要想检查两个数组是否包含了相同的元素,比较 toString() 方法的结果。

最后,字符串是按引用复制和传递的,但是是按值来比较的。请注意,假如有两个 String 对象(用 new String("something") 创建的),按引用比较它们,但是,如果其中一个或者两者都是字符串值的话,按值比较它们。

字符串是按引用复制和传递的,但是是按值来比较的。请注意,假如有两个 String 对象(用 new String("something") 创建的),按引用比较它们,但是,如果其中一个或者两者都是字符串值的话,按值比较它们。

var str1="aa"; 
var str2=new String("aa"); 
var str3=str2; 
function test(p){ 
var str4=p; 
console.log(str4===str2); 
} 
console.log(str1===str2); //false 
console.log(str3===str2); //true 
test(str1);//false 
test(str2);//true
Javascript 相关文章推荐
jquery 循环显示div的示例代码
Oct 18 Javascript
使表格的标题列可左右拉伸jquery插件封装
Nov 24 Javascript
JavaScript中document对象使用详解
Jan 06 Javascript
jquery实现的淡入淡出下拉菜单效果
Aug 25 Javascript
js格式化输入框内金额、银行卡号
Feb 01 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
简单实现js进度条加载效果
Mar 25 Javascript
VueJs 搭建Axios接口请求工具
Nov 20 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
vue使用Font Awesome的方法步骤
Feb 26 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
Sep 29 Javascript
详解React 元素渲染
Jul 07 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
Dec 28 #Javascript
Javascript 加载和执行-性能提高篇
Dec 28 #Javascript
javascript延时加载之defer测试
Dec 28 #Javascript
JavaScript(js)设置默认输入焦点(focus)
Dec 28 #Javascript
Javascript图像处理—平滑处理实现原理
Dec 28 #Javascript
js获取网页高度(详细整理)
Dec 28 #Javascript
前台js改变Session的值(用ajax实现)
Dec 28 #Javascript
You might like
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
PHP 图片处理
2020/09/16 PHP
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
利用jQuery实现可以编辑的表格
2014/05/26 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
javascript常用函数(1)
2015/11/04 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
js实现每日签到功能
2018/11/29 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Python匹配中文的正则表达式
2016/05/11 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
python 实现图片裁剪小工具
2021/02/02 Python
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
十佳美德少年事迹材料
2014/02/05 职场文书
产品设计开发计划书
2014/05/07 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
PHP策略模式写法
2021/04/01 PHP