导读:我发现不管是哪一门语言,都会先介绍其发展,语法规则,数据类型,流程控制等。那么,这次,就介绍一下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—基础知识点】:数据类型的更多相关文章

  1. JavaScript语言基础知识点图示(转)

    一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...

  2. JavaScript语言基础知识点图示

    原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...

  3. JavaScript 语言基础知识点总结

    网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )  

  4. JavaScript 语言基础知识点总结(思维导图)

    JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 JavaScript 字符串函数 JavaS ...

  5. 一套最全的JavaScript 语言基础知识点总结(思维导图10张)

    1.DOM基础操作 2.数组基础 3.函数基础 4.运算符 5.流程控制语句 6.正则表达式 7.字符串函数 8.数据类型 9.变量 10.window对象

  6. 【JavaScript 8—基础知识点】:DOM

    一.总体概述 1.1,什么是DOM DOM(Document Object Model):D(文档):整个web加载的网页文档:O(对象):类似于window对象之类的东西,可以调用属性和方法,在这里 ...

  7. 【JavaScript 7—基础知识点】:BOM

    一.基础知识 1.1,什么是BOM BOM(browser object model):也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己想法去扩展 ...

  8. 【JavaScript 4—基础知识点】:函数

    导读:函数这个东西,从VB开始就一直在用,不过那时候一般写不出来自己的函数或者类,觉得最高大上的,就是调用API函数了.现在,学习到了JavaScript,总结总结函数,显得很有必要.这篇文章,就从最 ...

  9. 【JavaScript 3—基础知识点】:运算符

    导读:其实看到这个运算符的学习,很有一种熟悉感,因为在总体看来,和之前的C++有很多类似的地方,但当时觉得简单,没有总结.所以,这次一定得总结了.其实,知识的罗列,基础的积累,在学习中也很重要. 一. ...

随机推荐

  1. PaaS优点与限制(3)

    PaaS优点与限制(3) PaaS学习笔记目录 PaaS基础学习(1) 在PaaS上开发Web.移动应用(2) PaaS优点与限制(3) 13. PaaS的核心服务 核心服务是指提供数据存储.SQl. ...

  2. LR中操中MySQL脚本模板

    Action(){ char chQuery[128]; MYSQL *Mconn; int result; //引入mysql动态链接库 lr_load_dll("libmysql.dll ...

  3. SQL简单查询后续记录

    --首先创建数据库TEST CREATE DATABASE TEST --创建表tb_user USE TEST CREATE TABLE [tb_user]( [name] [nvarchar] ( ...

  4. NBUT 1117 Kotiya's Incantation(字符输入处理)

    题意: 比较两个串,有三种情况:完全相同,可见字符相同,不同.每个字符串以'-'结尾.难点在输入. 思路: 字符逐个读入,直到'-'为止,读出两串就可以直接进行判断.如果不足两串则结束.输入时需要注意 ...

  5. 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 ...

  6. MVC视图特性

    在主界面的视图中可以使用viewdata,引用主界面的分布视图界面也可以调用主界面的分部视图,但是分部视图不可以定义viewdata并使用 例子如下: // // GET: /Home/ public ...

  7. LeetCode || 双指针 / 单调栈

    11. Container With Most Water 题意:取两根求最大体积 思路:使用两个指针分别指向头和尾,然后考虑左右两根: 对于小的那根,如果选择了它,那么能够产生的最大体积一定是当前的 ...

  8. Linux文件的IO操作 一

    系统调用 系统调用: 操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务 为什么用户程序不能直接访问系统内核提供的服务 为了更好地保护内核空间, ...

  9. CentOS7服务器上部署Oracle客户端

    环境 操作系统: CentOS7.2.1511 x86_64 准备安装包 在这个网站:https://www.oracle.com/technetwork/topics/linuxx86-64soft ...

  10. CF-1110 (2019/02/08)

    CF-1110 A. Parity 快速幂的思想,考虑最后一位即可 #include <bits/stdc++.h> using namespace std; typedef long l ...