【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++有很多类似的地方,但当时觉得简单,没有总结.所以,这次一定得总结了.其实,知识的罗列,基础的积累,在学习中也很重要. 一. ...
随机推荐
- PaaS优点与限制(3)
PaaS优点与限制(3) PaaS学习笔记目录 PaaS基础学习(1) 在PaaS上开发Web.移动应用(2) PaaS优点与限制(3) 13. PaaS的核心服务 核心服务是指提供数据存储.SQl. ...
- LR中操中MySQL脚本模板
Action(){ char chQuery[128]; MYSQL *Mconn; int result; //引入mysql动态链接库 lr_load_dll("libmysql.dll ...
- SQL简单查询后续记录
--首先创建数据库TEST CREATE DATABASE TEST --创建表tb_user USE TEST CREATE TABLE [tb_user]( [name] [nvarchar] ( ...
- NBUT 1117 Kotiya's Incantation(字符输入处理)
题意: 比较两个串,有三种情况:完全相同,可见字符相同,不同.每个字符串以'-'结尾.难点在输入. 思路: 字符逐个读入,直到'-'为止,读出两串就可以直接进行判断.如果不足两串则结束.输入时需要注意 ...
- nginx 编译某个模板的问题./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library stati
root@hett-PowerEdge-T30:/usr/local/src/nginx-1.9.8# ./configure --prefix=/usr/local/nginx --add-mod ...
- MVC视图特性
在主界面的视图中可以使用viewdata,引用主界面的分布视图界面也可以调用主界面的分部视图,但是分部视图不可以定义viewdata并使用 例子如下: // // GET: /Home/ public ...
- LeetCode || 双指针 / 单调栈
11. Container With Most Water 题意:取两根求最大体积 思路:使用两个指针分别指向头和尾,然后考虑左右两根: 对于小的那根,如果选择了它,那么能够产生的最大体积一定是当前的 ...
- Linux文件的IO操作 一
系统调用 系统调用: 操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务 为什么用户程序不能直接访问系统内核提供的服务 为了更好地保护内核空间, ...
- CentOS7服务器上部署Oracle客户端
环境 操作系统: CentOS7.2.1511 x86_64 准备安装包 在这个网站:https://www.oracle.com/technetwork/topics/linuxx86-64soft ...
- CF-1110 (2019/02/08)
CF-1110 A. Parity 快速幂的思想,考虑最后一位即可 #include <bits/stdc++.h> using namespace std; typedef long l ...