这里是修真院前端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析前端知识/技能,本篇分享的是:
【 JavaScript有哪些数据类型和常用方法】
1.背景介绍:
JavaScript:是脚本语言。是一种轻量级的编程语言。它是可插入HTML页面的编程代码,JavaScript插入HTML页面后,可由所有的现代浏览器执行。
JavaScript的诞生
1994年,网景公司开始考虑考虑开发一种客户端脚本语言来解决简单的处理问题,为即将在1995年发行的Netscape Navigator 2.0浏览器开发一个称之为LiveScript的脚本语言,以便在浏览器和服务器(本来要叫它LiveWire)端使用它,实现页面与使用者的互动。
当时网景公司正与sun公司合作,而sun公司正准备推出java语言,为了利于Java这个因特网时髦词汇,网景公司将这门语言命名为了JavaScript。
1997年,以JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会
(ECMA,European Computer Manufactures Association)进行标准化.
经过数月的努力完成了ECMA-262——定义了一种名为ECMAScript的新脚本语言的标准。
第二年,ISO/IEC(国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准(即ISO/IEC-16262)。
ECMAScript往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。
ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分。
实际上,一个完整的JavaScript实现是由以下3个不同部分组成的:
核心(ECMAScript):由ECMA-262定义,提供核心语言功能;
文档对象模型(DOM):提供访问和操作网页内容的方法和接口;
浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
2.知识剖析
2.1JavaScript数据类型有哪些
在ECMAScript中,将数据类型分为6种,分别是Undefined、Null、Boolean、Number和String,还有一个复杂数据类型Object。
Undefined、Null、Boolean、Number都属于基本类型。Object、Array和Function则属于引用类型,String有些特殊,具体的会在下面展开分析。
2.2 Undefined数据类型
Undefined数据类型只是一个值,即特殊的undefined。在使用var声明变量但未对其进行初始化时,变量的值就是undefined。
2.3 Null数据类型
Null数据类型也是一个只有一个值的数据类型。其特殊值就是Null。
从逻辑上看,null是一个空的对象指针。当使用typeof操作符检测null值,会返回“object”
undefined值派生自null值。出现场景:对象不存在时
[注意1]null是空对象指针,而[]是空数组,{}是空对象,三者不相同
2.4 Boolean数据类型
Boolean数据类型,译作布尔值,只有两个字面量:true和false。它们是区分大小写的。
任何数据类型的值调用Boolean()函数都会返回一个Boolean值
2.5 Number数据类型
JavaScript只有一种数字类型。数字可以带小数点,也可以不带:
常用数据转换方法
转数值:parseInt()和parseFloat()。
转字符串:.toString()
强制转换:访问数据内部内容,并将符合格式的内容进行转换
Boolean(value) -把给定的值转换成Boolean型;
Number(value) -把给定的值转换成数字(可以是整数或浮点数);
String(value) -把给定的值转换成字符串;
对于极大或者极小数,用科学技术法e表示浮点数值。大多数浏览器中的最大值为1.7976931348623157e+308。超出JavaScript数值范围的值会返回一个特殊值Infinity值,正数为Infinity(正无穷),负数为-Infinity(负无穷)。其值无法继续参与下一步运算。可以使用isFinite()函数判别数值是不是有穷的。
NaN,非数值(Not a number)。表示一个本来要返回数值的操作未返回数值的情况,省去报错。
有两个特点:
1.任何涉及NaN的操作都会返回NaN。
2. NaN和任何值都不相等,包括其本身。
2.6 String数据类型
String数据类型表示由零或者多个16位Unicode字符组成的字符序列,简称字符串。由('')("")表示。字符串是不可变的,一旦创建,值不能改变。
字符串在许多方面都和基本类型的表现相似,但其又是不可变的,因此可以将字符串看成行为与基本类型相似的不可变引用类型
使用toString(),可以将其他类型值转换成字符串,但是null和undefined不适用这个方法。使用String()函数可以将null和undefined进行转换。
2.7 Object数据类型
Object数据类型,称为对象,是一组数据和功能(函数)的集合。可以用new操作符后跟要创建的对象类型的名称来创建。也可以用字面量表示法创建。在其中添加不同名(包含空字符串在内的任意字符串)的属性。
3.编码实战
4.参考文献
一:ECMAScript原始类型
二:ECMAScript引用类型
三:ECMAScript类型转换
四:JavaScript的三个组成部分
五:js中toString 和 object.toString区别解