浅析为什么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树形菜单
Dec 09 Javascript
jqeury-easyui-layout问题解决方法
Mar 24 Javascript
jquery密码强度校验
Dec 02 Javascript
jQuery 移动端artEditor富文本编辑器
Jan 11 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
js实现登录与注册界面
Nov 01 Javascript
详解npm 配置项registry修改为淘宝镜像
Sep 07 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
May 17 Javascript
详解在Angular4中使用ng2-baidu-map的方法
Jun 19 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 Javascript
JavaScript随机数的组合问题案例分析
May 16 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/17 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
python网络应用开发知识点浅析
2019/05/28 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
python statsmodel的使用
2020/12/21 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
程序员求职信
2014/04/16 职场文书
协议书范本
2014/04/23 职场文书
安全生产标语
2014/06/06 职场文书
教师个人读书活动总结
2014/07/08 职场文书
远程教育培训心得体会
2016/01/09 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
python基础之函数的定义和调用
2021/10/24 Python
一文彻底理解js原生语法prototype,__proto__和constructor
2021/10/24 Javascript