包装类

包装类的介绍

我们都知道,js中的数据类型包括以下几种。

  • 基本数据类型:String、Number、Boolean、Null、Undefined

  • 引用数据类型:Object

JS为我们提供了三个包装类

  • String():将基本数据类型字符串,转换为String对象。

  • Number():将基本数据类型的数字,转换为Number对象。

  • Boolean():将基本数据类型的布尔值,转换为Boolean对象。

通过上面这这三个包装类,我们可以将基本数据类型的数据转换为对象

代码举例:

 var num = new Number(3);var str = new String("hello");var bool = new Boolean(true);console.log(typeof num); // 打印结果:object

需要注意的是:我们在实际应用中不会使用基本数据类型的对象。如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预期的结果。

比如说:

 var boo1 = new Boolean(true);var boo2 = new Boolean(true);console.log(boo1 === boo2); // 打印结果竟然是:false

再比如说:

var boo3 = new Boolean(false);if (boo3) {console.log('river'); // 这行代码竟然执行了
}

基本数据类型不能添加属性和方法

方法和属性只能添加给对象,不能添加给基本数据类型。

注意:当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性和方法;调用完以后,在将其转换为基本数据类型。

代码举例:

 var str = 123;str = str.toString(); // 将 number 类型转换为 string 类型str.hello = "YuanRiver"; // 添加属性console.log(typeof str); // 打印结果:stringconsole.log(str.hello); // 打印结果:undefined

再比如,String 对象的很多内置方法,也可以直接给字符串用。此时,也是临时将字符串转换为 String 对象,然后再调用内置方法。

18 - JavaScript 包装类相关推荐

  1. JavaScript 18 JavaScript 字符串

    JavaScript 文章目录 JavaScript 18 JavaScript 字符串 18.1 JavaScript 字符串 18.2 字符串长度 18.3 特殊字符 18.4 长代码行换行 18 ...

  2. vs2010 学习Silverlight学习笔记(18):JavaScript

    概要:        此篇主要学习SL中关于JS的应用. 内容: 1使用GetProperty获取脚本对象 对已存在的JS方法调用,比如: function Hello(message) { var ...

  3. javascript this详解

    this是每一个想要深入学习JavaScript的人必过的一关,我为this看过很多书查过很多资料,虽然对this有了一定的了解并且也经常使用this,但是如果有人问我  this是什么呀? 我依旧不 ...

  4. 大工13秋 c/c++语言程序设计 在线作业3,大工19秋《JavaScript基础教程与应用》在线作业3【满分答案】...

    大工19秋<JavaScript基础教程与应用>在线作业3 试卷总分:100  得分:100 一.单选题 (共 10 道试题,共 50 分) 1.下列不属于Javascript的基本组成的 ...

  5. JavaScript知识点查阅

    1.JavaScript之闭包,给自己的Js一场重生(系列七) 2.JavaScript总结(快速入门,一篇就够了) 3.JavaScript基础(一篇入门) 4.3分钟让你明白JSON是什么 5.视 ...

  6. JavaScript书籍的免费32本-收集分享

    1). Eloquent Javascript 是由 Marijn Haverbeke 编写的对编程和JavaScript的现代化的介绍.还有一个由 Gordon Zhu 编写的 Eloquent J ...

  7. 【学以致用】JavaScript

    为什么80%的码农都做不了架构师?>>>    Javascript的变量: name = "Asktao"; //全局变量 var name2 = " ...

  8. 史上最全面试题总结JavaScript

    1.eval是做什么的? 它的功能是把对应的字符串解析成JS代码并运行: 应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行). null,undefined 的区别? 目前 ...

  9. JavaScript --经典问题

    JavaScript中如何检测一个变量是一个String类型?请写出函数实现 方法1. function isString(obj){ return typeof(obj) === "str ...

最新文章

  1. Python学习笔记:常用内建模块3:struct
  2. 台式计算机机箱都一样吗,别以为组装台式机很简单,机箱选择大有学问
  3. Apache Camel 2.20发布–新增功能
  4. On Comparing Side-Channel Preprocessing Techniques for Attacking RFID Devices
  5. jQuery(爱前端)
  6. 让数据中台飞起来—— Quick BI性能优化解决方案及实践
  7. MySql WorkBench通过表生成表关系图
  8. Solidworks如何绘制标准螺纹线
  9. 实现putchar put_str put_int
  10. 渗透测试各种扫描工具集合(好用)
  11. 2018-2019 C++期末复习资料
  12. 利用python通过拟合优度检验判别数据是否为正态分布
  13. dsp性能测试软件,慧明D4300专业DSP数字功放测试软件
  14. html页面旋转图标或标签
  15. PID为0的系统空闲进程连接状态为TIME_WAIT
  16. layui数据表格自带的排序功能
  17. 为什么优秀的管理者不能显得自己太能干?
  18. google play连接超时_Google框架一键安装
  19. 解决笔记本IPS屏幕发黄问题
  20. 分治法的关键特征_算法系列之常用算法之一----分治算法

热门文章

  1. 【数据库课设】学生成绩管理系统 (JAVA+ swing + JDBC)
  2. python 人体检测技术_OpenCV 3 Python - 部分人体检测?
  3. JavaScript -- 对象与原型链 [[Prototype]]
  4. VMWARE全屏时隐藏工具条
  5. 设置交换机交换速率和双工模式
  6. 人工智能专业世界大学排行榜,2022最新
  7. python telnet线程锁_对python使用telnet实现弱密码登录的方法详解
  8. P6657-[模板]LGV 引理
  9. 2021-11-04图形学 鼠标传点,连线,填充。(有人看就更新细节,其实创建类复制进去代码就能运行)
  10. 面向自动驾驶的边缘计算技术研究综述