浅析为什么a="abc" 不等于 a=new String("abc")


Posted in Javascript onOctober 25, 2017

显而易见

a="abc"
typeof a //string
b=new String("abc")
typeof b // object
a==b //true
a===b //false

但是为什么呢?看了很多书,问了好几个大神,其实自己还是稀里糊涂的。这里记录一下,备查。

在js中,区分原始资料类型和包装类型。数字、字符串、布尔、null、undefined 属于原始资料类型,而Number、String、Boolean属于包装类型,通过new Number 创建的是包装类型的派生对象。所以两者是不等的。

直接赋值为基本类型之后的使用过程如下:

1、创建String类型的一个实例

2、在实例上调用指定的方法

3、销毁实例

举例:

var a="123"
a.toFixed===Number.prototype.toFixed;

这里还有一种说法:装箱,拆箱

装箱,就是用这个值类构造一个相应的包装对象

var a=10 ,b="javascript" , c=true;
  var o_a=new Number(a);
  var o_b=new String(b);
  var o_c=new Boolean(c);

   装箱的最大作用是将值作为对象来处理。

拆箱,是包装对象转换成值类型

var a=10;
 var o_a=new Number(a);
 var b=o_a.valueOf();//这就是拆箱的过程。

总结

以上所述是小编给大家介绍的为什么a="abc" 不等于 a=new String("abc"),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js模拟弹出效果代码修正版
Aug 07 Javascript
某页码显示的helper 少量调整,另附js版
Sep 12 Javascript
基于JQuery的抓取博客园首页RSS的代码
Dec 01 Javascript
JS获取计算机mac地址以及IP的实现方法
Jan 08 Javascript
js简单的点击返回顶部效果实现方法
Apr 10 Javascript
js实现简易的单数字随机抽奖(0-9)
Mar 19 Javascript
jQuery实现仿百度帖吧头部固定导航效果
Aug 07 Javascript
javascript获取网页各种高宽及位置的方法总结
Jul 27 Javascript
webpack开发跨域问题解决办法
Aug 03 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 Javascript
vue bus全局事件中心简单Demo详解
Feb 26 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
vue语法之拼接字符串的示例代码
Oct 25 #Javascript
浅谈Vue.nextTick 的实现方法
Oct 25 #Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
Oct 25 #Javascript
浅谈Node.js之异步流控制
Oct 25 #Javascript
AngularJS 实现购物车全选反选功能
Oct 24 #Javascript
React Native时间转换格式工具类分享
Oct 24 #Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 #Javascript
You might like
simplehtmldom Doc api帮助文档
2012/03/26 PHP
浅谈php和.net的区别
2014/09/28 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
laravel model 两表联查示例
2019/10/24 PHP
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
Javascript面向对象编程
2012/03/18 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
利用Node.JS实现邮件发送功能
2016/10/21 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
Pandas删除数据的几种情况(小结)
2019/06/21 Python
Python流程控制 if else实现解析
2019/09/02 Python
python区分不同数据类型的方法
2019/10/14 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
Python列表解析操作实例总结
2020/02/26 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
最新计算机专业自荐信
2013/10/16 职场文书
教师自我鉴定范文
2013/11/10 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
事业单位聘任报告
2015/03/02 职场文书
React配置子路由的实现
2021/06/03 Javascript
MySQL三种方式实现递归查询
2022/04/18 MySQL