【JavaScript 2—基础知识点】:数据类型
导读:我发现不管是哪一门语言,都会先介绍其发展,语法规则,数据类型,流程控制等。那么,这次,就介绍一下JavaScript中的数据类型,有些看着眼熟,有些不熟。熟的也不是之前认识的,不熟的,也不见得就没见过。
一、总体概览
JavaScript中,在目前的学习阶段,大致了解了6个数据类型:Undefined类型,Null类型,Boolean类型,Number类型,String类型,Object类型。在这之中,除开第一、第二和最后一个在之前接触的相对较少,剩下的算是接触的比较多的。所以,从整体上看来,新知识的比例不大,学习起来没太大的难度。
1,1,图示1(无Number类型)
1.1.1,图示说明
1.1.1.1,Undefined、Null、Object的关系
Null:表示一个空对象引用(指针)。Undefined派生自Null,Null派生自Object。Null的值是属于Null类型,但当其用typeof操作符检测时,会返回Object。
1.1.1.2,true=1,false=0
这是不一定的,就是说当var box=true,alert(box==1),这时候,返回的是true。说明这时候,true=1。但是当alert(box===1)或者 alert(typeof box==typeof 1)时,这时候返回false,说明这时候,true不等于1。这是因为,这时候box是布尔型,而1是数值型,在恒等(值和类型都相等)时,它们就不相等了。所以说,true不一定等于1。
1.1.1.3,布尔值转换规则
NaN:Not a Number,是一个特殊的值,用于表示一个本来要返回数值的操作数未返回数值的情况。也就是类型转换失败,所以,这时候,bool转换返回的也是false。
1.1.1.4,字符串转义字符
1.2,图示2(Number类型)
1.2.1,图示说明
1.2.1.1,数值定义规范
注意:有效序列,基数,前导。
1.2.1.2,对象类型的数值转换
当对象类型的数值进行转换时(空或非空),其首先通过ValueOf()函数,判断对象类型是否为数值,当返回值=NaN时,则继续调用其toString()函数,继续判断。
PS:其实对象类型的肯定会返回NaN,但在对象类型转换时,其内部机制是这样使用,而不是由肉眼看到的直接进行转换。
二、注意事项
1,当进行字符串转换时,如果不知道数据类型是否为Undefined或Null,那么将启用String()方法,而不是toString()方法。String()方法比之toString()方法更为强大,它能将所有的类型转换为字符串。
2,Number()是转型函数,可用于任何数据类型。而parseInt()和parseFloat()则专门用于将字符串转为数值。
2.1,parseInt()和parseFloat()的对比
2.1.1,相同点
1,都是专门用于将字符串转为数值的函数
2,从第一个数值开始,最后一个连续数值结束。如:“12.12Angel12”,parseInt()返回12,parseFloat()返回12.12。
3,均从字符串的第一位开始解析
4,自动去掉前置空格
2.1.2,不同点
1,parseInt(),小数点非数值,直接去掉;parseFloat()只识别第一个小数点。
2,parseFloat()不识别十六进制。
3,parseInt()可提供2个参数:第一个,待转换的字符;第二个,欲转换的进制基数。如:parseInt(“70”,“8”),将返回8进制的结果:56.
三、学习感受
每种语言的数据类型,都有雷同之处,但也都有其不同之处。这是外面的东西,而在每种语言之中,也存在着数据类型之间的联系和应用间的区别,及时总结很重要。其实,基本知识的罗列,也是学习中很关键的一步。数据类型总结完了,发现新东西不多,很多都可以用上以前的知识,把新东西放到旧东西里面去,学习起来更轻松。
【JavaScript 2—基础知识点】:数据类型的更多相关文章
- JavaScript语言基础知识点图示(转)
一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...
- JavaScript语言基础知识点图示
原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...
- JavaScript 语言基础知识点总结
网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )
- JavaScript 语言基础知识点总结(思维导图)
JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 JavaScript 字符串函数 JavaS ...
- 一套最全的JavaScript 语言基础知识点总结(思维导图10张)
1.DOM基础操作 2.数组基础 3.函数基础 4.运算符 5.流程控制语句 6.正则表达式 7.字符串函数 8.数据类型 9.变量 10.window对象
- 【JavaScript 8—基础知识点】:DOM
一.总体概述 1.1,什么是DOM DOM(Document Object Model):D(文档):整个web加载的网页文档:O(对象):类似于window对象之类的东西,可以调用属性和方法,在这里 ...
- 【JavaScript 7—基础知识点】:BOM
一.基础知识 1.1,什么是BOM BOM(browser object model):也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己想法去扩展 ...
- 【JavaScript 4—基础知识点】:函数
导读:函数这个东西,从VB开始就一直在用,不过那时候一般写不出来自己的函数或者类,觉得最高大上的,就是调用API函数了.现在,学习到了JavaScript,总结总结函数,显得很有必要.这篇文章,就从最 ...
- 【JavaScript 3—基础知识点】:运算符
导读:其实看到这个运算符的学习,很有一种熟悉感,因为在总体看来,和之前的C++有很多类似的地方,但当时觉得简单,没有总结.所以,这次一定得总结了.其实,知识的罗列,基础的积累,在学习中也很重要. 一. ...
随机推荐
- systemback-----做你折腾的后盾
http://imcn.me/html/y2015/24421.html ubuntu的系统还原工具,最近在学习grunt,要安装nodejs 等一些依赖,对于有轻微系统洁癖的我来说是个好的解决方案, ...
- 前端之CSS列表及背景类属性
一.列表类属性: 1.列表符号样式: list-style-type:disc(实心圆)|circle(空心圆)|square(实心方块)|decimal(数字)|none(去掉列表符号样式); 2. ...
- P3375 【模板】KMP字符串匹配(全程注释,简单易懂)
题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果你不知道这是什么意思也不要问,去百度搜[ ...
- thinkphp写的登录注册的小demo
和asp.net类似,一个FormAction对应Form文件夹 demo结构: ‘ 对于项目结构有疑问的: http://www.thinkphp.cn/document/60.html login ...
- uvm_object ——太极
无极生太极——无名天地之始 太极生两仪——有名万物之母 文件: $UVM_HOME/src/base/uvm_object.svh 类: uvm_object The uvm_object cla ...
- 当ThreadLocal碰上线程池
ThreadLocal使用 ThreadLocal可以让线程拥有本地变量,在web环境中,为了方便代码解耦,我们通常用它来保存上下文信息,然后用一个util类提供访问入口,从controller层到s ...
- Mysql的Root密码忘记,查看或修改的解决方法
Mysql的Root密码忘记,查看或修改的解决方法:1.首先启动命令行2.在命令行运行:taskkill /f /im mysqld-nt.exe3.继续在命令行运行:mysqld-nt --skip ...
- 安卓统一推送联盟融云成唯一IM云服务企业
10月16日,安卓统一推送联盟在北京正式成立,来自中国信息通信研究院,华为.小米.OPPO等手机厂商,BAT等互联网巨头公司等75家机构及企业代表参加了联盟成立大会,融云也受邀参会并成为首批成员单位中 ...
- make与makefile的几个例子和(自己写一下,汗!忘记了!)总结
共用的几个源代码文件: main.c 2.c 3.c 代码依次为: #include<stdlib.h> #include "a.h" extern void func ...
- python中的循环语句-01
接触python已经一周时间,下面针对这一周python学习的情况做一梳理: 1)单行注释,使用一个#:多行注释,使用三个单引号(或者三个双引号)如: name = input("name: ...