JS基本数据类型与对象的valueOf方法
2017-03-03 10:00
239 查看
js基本数类型
javascript高级程序设计第三版中讲到,js基本数据类型有五个,分别是undefinded、null、boolean、string以及number,但是我们有时候会在很多相关博客以及书籍中看到他们所讲的基本数据类型和此处不一致,其中尤为冲突显眼的就是object类型以及function类型,如果真的要说哪一个讲得有道理,还真的不好说,前者来自于相对于众多开发者比较熟悉的书籍,在一定程度上被大家所提倡信奉此处贴一篇关于js基本数据类型的不同观点的文章。另外在w3c中也有关于讲解js基本类型的教程,讲的是和前者一样的。w3c基本数据类型教程
js中的基本类型之争
知乎大神关于js基本类型的说法
本文讲的也很在理,个人是没法反驳
文中提到,将js基本类型整理为六类,如下图所示
主要依据就是typeof的所有种类来定的,貌似typeof的结果也只有图中所展示的六种,尤其null,下图是测试的结果展示
图中typeof null 以及 typeof {} 的结果是相同,也就是说他们的原始类型也是一样的(其实自己的也不知道该不该把原始类型的基本类型混为一谈),以及最后的typeof function() {}的结果,这也就导致后者说法的产生。个人有点赞同后者意见,但是w3c官方文档都与前者相似,就只能慢慢找答案了。
说到基础类型,那就不得说到js的引用类型,Object、Boolean、Number、String这些以对象方式存在的类型
引用类型都会有与之对应的基本类型,Boolean对应boolean,String对应string,Object对应object,Number对应number。
valueOf方法
我们会发现每一个引用类型的对象中都会有相对应的valueOf方法,自带或者是继承自父类,W3C教程说到,valueOf返回当前对象的原始值当我们以构造函数的方式新建一个对象时(引用类型),如图中所见在控制台可直接看到当前对象的原始值,valueOf方法我们可以通过自身的重写实现,典型的例子就是String实例化对象调用valueOf方法时,其实调用的是toString方法,这个比较特殊。
其实所谓五种基本类型以及引用类型都有与之对应的valueOf方法,此处可参考一下文章
一眼毁三观:JS中令人发指的valueOf方法
**此文为个人学习经验总结,若有不当之处,还望指出
以上**
相关文章推荐
- JS-安全检测JavaScript基本数据类型和内置对象的方法
- 49 JS-3 function 对象,基本数据类型 对象的定义 匿名函数
- 每日学习心得:Js基本数据类型常用方法扩展
- Js基本数据类型常用方法扩展(基本数据处理)
- JS中的常量(基本数据类型)和内置对象
- js 将json字符串转换为json对象的方法解析 作者: 字体:[增加 减小] 类型:转载 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而J
- JS 将变量 转化为字符串的方法, 适用于所有类型,数组, 对象,函数和基本类型等
- javawebday03(js和html结合 基本数据类型及方法 全局函数 重载)
- OC基本数据类型与对象之间的转换方法
- 加锁问题,必须加锁在对象上或方法上,加在基本数据类型上无效
- JS 将变量 转化为字符串的方法, 适用于所有类型,数组, JSON对象,函数和基本类型等
- OC 基本数据类型与对象之间的转换方法
- js--3.对象-2.基本和引用数据类型
- js基本数据类型及判断方法
- OC基础:OC 基本数据类型与对象之间的转换方法
- 每日学习心得:Js基本数据类型常用方法扩展
- java基本数据类型及其所对应对象的自动装箱,new,valueof操作研究
- Objective-C中基本数据烦类型与对象数据类型相互转换的方法(OC中NSString的常用API的基础应用3)
- js中字符串基本数据类型能调用属性和方法的原理
- JS中的常量(基本数据类型)和内置对象