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 相关文章推荐
JavaScript高级程序设计 读书笔记之十一 内置对象Global
Mar 07 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 Javascript
通过Javascript读取本地Excel文件内容的代码示例
Apr 08 Javascript
动态加载jQuery的方法
Jun 16 Javascript
详解AngularJS ng-class样式切换
Jun 27 Javascript
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
vue中,在本地缓存中读写数据的方法
Sep 21 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
Apr 02 Javascript
浅谈Express.js解析Post数据类型的正确姿势
May 30 Javascript
Vue + Element UI图片上传控件使用详解
Aug 20 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JQuery toggle使用分析
2009/11/16 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python中list循环语句用法实例
2014/11/10 Python
在Linux下调试Python代码的各种方法
2015/04/17 Python
Python中type的构造函数参数含义说明
2015/06/21 Python
有趣的python小程序分享
2017/12/05 Python
python队列queue模块详解
2018/04/27 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
妈妈的账单教学反思
2014/02/06 职场文书
小区消防演习方案
2014/02/21 职场文书
文秘求职信范文
2014/04/10 职场文书
文案策划求职信
2014/04/14 职场文书
鉴史问廉观后感
2015/06/10 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL