web前端知识集合——javascript基础篇之数据类型(三)

   

 

 4. 数据类型:

          (1)定义:约束了数据在内存中所占据的空间大小。计算机中最小的计量单位bit:8bit(位)=1byte(字节),1024byte(字节)=1KB(千字节),1024KB=1MB(兆字节),1024MB=1GB,1024GB=1T。

          (2)分类:

                   ① 基本类型:包括数字(整数和浮点数),字符串,布尔、underfined(属性或元素不存在时,返回这个underfined)和null类型。

                   ② 引用类型:包括数组,对象,函数等。


拓展:

     Ⅰ.整数:以0开头的数字是八进制,以0x开头的数字书十六进制,其他的是十进制。

     Ⅱ.小数(浮点数):可以点计数(即直接小数点)和指数计数(科学计数法E)。但是需要注意的是,js计算有时存在精确度的问题,如:

web前端知识集合——javascript基础篇之数据类型(三)_第1张图片

对于浮点数的四则运算,几乎所有的编程语言都会有类似精度误差的问题,只不过在 C++/C#/Java 这些语言中已经封装好了方法来避免精度的问题,而 JavaScript 是一门弱类型的语言,从设计思想上就没有对浮点数有个严格的数据类型,所以精度误差的问题就显得格外突出。为什么会有这个精度误差?答:

计算机读懂的是二进制,而不是十进制,所有在js中需要将0.1和0.2转换为二进制,即0.1转换为二进制0.1.toString(2),0.2转换为二进制0.2.toString(2)

web前端知识集合——javascript基础篇之数据类型(三)_第2张图片

双精度浮点数的小数部分最多支持 52 位,所以两者相加之后得到这么一串 0.0100110011001100110011001100110011001100110011001100 因浮点数小数位的限制而截断的二进制数字,这时候,我们再把它转换为十进制,就成了 0.30000000000000004。

     Ⅲ.转义字符:\n:换行。

                            \t:一个制表符(Tab键的距离)。

                            \" :表示一个"。

                            \' :表示一个'。

                            \\ : 表示一个\。

 


          (3)判断数据类型:

                   ① typeof()或typeof:能判断基本数据类型(数字,字符串,布尔,underfined)以及对象和函数,但是不能区分数组。

                   ② instanceof和constructor:能判断基本数据类型和引用类型(对象,函数,数组),详见参考https://blog.csdn.net/qq_42231156/article/details/95072555。

web前端知识集合——javascript基础篇之数据类型(三)_第3张图片

          (4)数据类型的转换:

                   ① 隐式转换(自动转换):

                             a.字符串+数字:把数字转换为字符串(即数字加引号),在做加法(即拼接运算)。

                             b.数字+布尔:将布尔值true为1,false为0进行运算。

                             c.字符串+布尔值:将布尔值转为字符串"true","false"然后在进行运算。

                             d.布尔值+布尔值:将布尔值转换为数字1或0然后进行运算。

                   ② 强制转换:

                             a.toString() :表示将任意类型的数据转换为字符串。语法:var 结果=数据.toString(参数),参数表示转换结果的进制。

                             b.parseInt() :将指定类型的数据转换为整数。语法:var 结果=parseInt(数据);NaN(Not a Number)。

                             c.paeseFloat() :将任意类型的数据转换为小数。语法:var r=parseFloat(数据);

                             d.Number() : 将任意类型的数据转换为数字(整数或者小数)。如果转换的数据中包含非数字的字符,则返回NaN。

 

 

web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)

web前端知识集合——javascript基础篇之常量和变量(二)

web前端知识集合——javascript基础篇之数据类型(三)

web前端知识集合——javascript基础篇之运算符(四)

web前端知识集合——javascript基础篇之逻辑结构和通用小程序(五)

web前端知识集合——javascript基础篇之函数和对象(六)

你可能感兴趣的:(javascript)