大家好,我是IT修真院深圳分院第04期学员,一枚正直善良的web程序员。
今天给大家分享一下,修真院官网 js任务中可能会使用到的知识点:
JS有哪些数据类型和常用方法?
1.背景介绍
JavaScript
一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,是浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(超文本标记语言)网页上使用,用来给HTML网页增加动态功能。
2.知识剖析
2.1 JS有哪些数据类型?
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有七种。分别是undefined、null、boolean、number、string、object、Symbol。
1)UNDEFINED:UNDEFINED类型只有一个值,即特殊值UNDEFINED。在使用VAR声明变量,但未对其加以初始化时,这个变量值就是UNDEFINED。
2)NULL:NULL类型是第二个只有一个值的数据类型。其特殊值就是NULL。从逻辑角度上看,NULL是一个空的对象指针。而这也正是使用TYPEOF操作符检测NULL值,会返回“OBJECT”的原因。
3)BOOLEAN:即布尔类型,该类型有两个值:TRUE和FALSE。需要注意的是,BOOLEAN类型的字面值TRUE和FALSE是区分大小写的。也就是说,TRUE和FALSE(以及其它的混合大小形式)都不是BOOLEAN值,只是标识符。
4)NUMBER:该类型的表示方法有两种形式,第一种是整数,第二种为浮点数。整数:可以通过十进制,八进制,十六进制的字面值来表示。浮点数:就是该数值中必须包含一个小数点,且小数点后必须有一位数字。
5)STRING:STRING类型用于表示由零或多个16位的UNICODE字符组成的字符序列,即字符串。至于用单引号,还是双引号,在JS中还是没有差别的。记得成对出现。
6)OBJECT:OBJECT类型,称为对象,是一组数据和功能(函数)的集合。可以用NEW操作符后跟要创建的对象类型的名称来创建。也可以用字面量表示法创建。在其中添加不同名(包含空字符串在内的任意字符串)的属性。
7)SYMBOL:ES6新增第七种的数据类型,SYMBOLS也是一个集,但它的元素既不是字符串也不是对象。SYMBOL生成一个全局唯一的值。
2.2 JS数据类型的常用方法
这里介绍7种:Boolean()、isNaN()、Number()、parseInt()、parseFloat()、toString()、String()。
3.常见问题
怎么样判断各种数据类型?
4.解决方案
这里介绍2种方法:typeof、instanceof.
1)typeof:用来判断各种数据类型,有两种写法:typeof xxx ,typeof(xxx)
总结:如果右边的是基本类型,则typeof会尝试得到最基本的类型,比如number,string等等,如果是函数名,那么则返回function,这里Object,Number,String,等等都可以看成函数名,如果右边是一个基本的对象,则返回object(返回的都是小写哦)。 注:我们发现typeof null,结果返回了object,这是一个很早之前的BUG,一直沿用至今。 试用范围:如果通过typeof来判断类型,适用于判定基本类型,或者判断是否为函数(function)。
2)instanceof,返回的是一个布尔值
instanceof只能用来判断对象和函数,不能用来判断字符串和数字等。 instanceof还可以判断变量是否为数组。
5.编码实战
以上内容。
6.拓展思考
JavaScript 类型转换有哪些?以及如何转换?
更多请参考:http://www.runoob.com/js/js-type-conversion.html
7.参考文献
w3c:JavaScript数据类型
脚本之家:js判断各种数据类型的方法
阮一峰:Javascript标准参考
8.更多讨论
问:字符串转数字用那种方式好?
字符串转数字方法主要有三种
转换函数、强制类型转换、利用js变量弱类型转换。
1. 转换函数:
js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
2. 强制类型转换
还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。
最后一种强制类型转换方法String()是最简单的,示例如下:
3. 利用js变量弱类型转换
利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换。