浅析为什么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 相关文章推荐
基于JQuery的抓取博客园首页RSS的代码
Dec 01 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
Feb 02 Javascript
使用JavaScript实现Java的List功能(实例讲解)
Nov 07 Javascript
JS实现控制表格内指定单元格内容对齐的方法
Mar 30 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
微信小程序 教程之模板
Oct 18 Javascript
微信小程序 封装http请求实例详解
Jan 16 Javascript
Angular2 路由问题修复详解
Mar 01 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
JavaScript中EventLoop介绍
Jan 22 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
Nov 07 Javascript
v-slot和slot、slot-scope之间相互替换实例
Sep 04 Javascript
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
php随机显示图片的简单示例
2014/02/15 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
jQuery最佳实践完整篇
2011/08/20 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
在Python的Django框架中创建语言文件
2015/07/27 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
Python Subprocess模块原理及实例
2019/08/26 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
公司演讲稿开场白
2014/08/25 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
毕业感言怎么写
2015/07/31 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang