JS基本数据类型与对象的valueOf方法
来源:互联网 发布:网络短信群发免费版 编辑:程序博客网 时间:2024/04/28 23:57
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基本数据类型与对象的valueOf方法
- js valueof与toSting,对象的复制
- OC 基本数据类型与对象之间的转换方法
- OC 基本数据类型与对象之间的转换方法
- OC基本数据类型与对象之间的转换方法
- java基本数据类型及其所对应对象的自动装箱,new,valueof操作研究
- js 基本数据类型、对象、数组的传递
- js中函数对象的方法,原型方法apply、call、bind、toString、toLocaleString、valueOf
- JS之Boolean的valueOf方法
- Js与Java的基本数据类型
- Js与Java的基本数据类型
- JS中的valueOf方法
- 基本数据类型的对象
- js的基本数据类型
- OC基础:OC 基本数据类型与对象之间的转换方法
- 对象引用与基本数据类型
- js的 valueOf & toString
- JS-JavaScript数据类型与对象
- JAVA关键字及作用
- 算法入门-数组和字符串
- 赛灵思(XILINX) FPGA中VRP/VRN管脚的使用心得
- 走进javascript——不起眼的基础,值和分号
- int-> string 等各种类型转换
- JS基本数据类型与对象的valueOf方法
- [BZOJ 3720]Gty的妹子树 树上分块
- Android IOS WebRTC 音视频开发总结(九)-- webrtc入门001
- 排序
- Shine Button动画效果 类似Tinder APP的卡片界面
- Mapbox应用开发——概述篇
- TreeFam数据库
- WebView的JavaScriptInterface调用startActive(),报错Uncaught Error: Error calling method on NPObjec
- 【转】.net MVC 生命周期