扫码关注官方订阅号
为什么第一个转换一下可以打印出来值,而第二个不转换打印不出来
(1234).commaSplit()
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
JS变量分为基本类型和引用类型。1234是基本类型,当在它上面调用方法时会先将其转化为对应的包装类型。(1234).commaSplit()这句代码的内部执行过程是这样的:
JS
1234
var t = new Number(1234); t.commaSplit();
所以真正执行commaSplit()的是变量t,所以其中的this是一个Number对象,用Math.floor()转一下就会返回对应的基本类型的值了,因为这个方法返回的是一个基本类型的数字,而不是Number对象。
commaSplit()
t
this
Number
Math.floor()
实际上有很多方法都可以实现这种转换,例如+this,或this.valueOf()、Number(this)……
+this
this.valueOf()
Number(this)
只要是结果为基本类型数字的都可以。
PHP学习
技术支持
返回顶部
JS
变量分为基本类型和引用类型。1234
是基本类型,当在它上面调用方法时会先将其转化为对应的包装类型。(1234).commaSplit()
这句代码的内部执行过程是这样的:所以真正执行
commaSplit()
的是变量t
,所以其中的this
是一个Number
对象,用Math.floor()
转一下就会返回对应的基本类型的值了,因为这个方法返回的是一个基本类型的数字,而不是Number
对象。实际上有很多方法都可以实现这种转换,例如
+this
,或this.valueOf()
、Number(this)
……只要是结果为基本类型数字的都可以。