js number prototype 扩展方法获取this值
为什么第一个转换一下可以打印出来值,而第二个不转换打印不出来
(1234).commaSplit()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
为什么第一个转换一下可以打印出来值,而第二个不转换打印不出来
(1234).commaSplit()
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
JS
变量分为基本类型和引用类型。1234
是基本类型,当在它上面调用方法时会先将其转化为对应的包装类型。(1234).commaSplit()
这句代码的内部执行过程是这样的:所以真正执行
commaSplit()
的是变量t
,所以其中的this
是一个Number
对象,用Math.floor()
转一下就会返回对应的基本类型的值了,因为这个方法返回的是一个基本类型的数字,而不是Number
对象。实际上有很多方法都可以实现这种转换,例如
+this
,或this.valueOf()
、Number(this)
……只要是结果为基本类型数字的都可以。