手机版

javascript数据类型的一些小知识点(推荐)

时间:2021-08-25 来源:互联网 编辑:宝哥软件园 浏览:

1.未定义且为空

Undefined是一个变量,不是关键字,所以可以重新分配。为了避免歧义,一般建议使用void 0获取undefined;

Null是一个关键字,所以您可以放心地使用null。

Undefined在意识形态上不同于null,null的意思是“已定义但为空”。因此,在实际编程中,我们一般不会给未定义的变量赋值,这样可以保证所有未定义值的变量都处于从未赋值过的自然状态。

函数测试(){ var undefined=123Console.log(未定义)} test ()==1232.0和-0

JavaScript中有0和-0,在加法类操作上没有区别。为了区分它们,您需要使用1/x。

3/0==Infinity3/-0==-Infinity3。0.1 0.2=0.3?

在JS中,0.1 0.2不等于0.3,因为如果0.1在计算机中用二进制表示,会产生无限循环位数。类似于十进制,三分之一是无限循环十进制。

所以在对这些循环小数进行数学运算,将二进制数据转换为十进制时,仍然是无线循环小数,截取末端后得到的值是0.3000000000。

正确的比较方法是用JS提供的最小精度值来检查方程左右两边差的绝对值是否小于最小精度

数学。ABS (0.10.2-0.3)=数字。真实4.666和新数字(666)之间的差异

666是一个类型号,而数字(666)是类型对象的数据。

在“你好”里。charat(1)==" ' e ' "门到门代码,点(。)运算符提供了一个装箱操作,它会根据一个基本类型构造一个临时对象,因此可以在基本类型上调用对应对象的方法。

5.parseInt和parseFloat

解析整数(字符串,基数)

Parseint (15,6)11==1 * 6 5 Parseint(0x 15)21==16 * 1 5 Parseflow直接将原始字符串解析为十进制,它不引入任何其他十进制

6.包装转换

每个基本类型数字、字符串、布尔和符号在对象中都有一个对应的类。所谓装箱转换,就是把基本类型转换成对应的对象。

符号是特殊的,所以你不能通过新的符号直接得到对应的对象,而是通过对象(符号(‘你好’)。

var symbolObject=Object(符号(' a '));console . log(symbolObject的类型);//对象console . log(symbolObject instance of Symbol);//true console . log(symbolobject . constructor==Symbol);//true7。拆包转换

当一个对象被转换为数字或字符串时,默认情况下将被解包,也就是说,将调用对象中内置的toString或valueOf方法将对象转换为基本类型

本文定义了一个obj对象,重写了它的valueOf和toString方法进行测试。可以看出,当Number(obj)、valueOf优先于String时,但当这两种方法不返回基本类型的数据时,就会出现错误。

当valueOf方法返回基本类型的数据时,obj成功转换为数字,并且不执行toSring方法。

仅当valueOf返回非基本类型时,才调用ToString方法。只有在解包从对象到字符串的转换时,才优先调用ToString方法。

注意:ES6允许一个对象通过显式指定一个主要符号来覆盖它的原始行为。

var o={ value of :()={ console . log(' value of ');return {},ToString :()={ console . log(' ToString ');return { } } o[symbol . topprimitive]=()={ console . log(' topprimitive ');return ' hello ' } console . log(o ' ')//to primitive//hello以上是边肖介绍的javascript数据类型中一些小知识点的整合,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:javascript数据类型的一些小知识点(推荐)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐