当说到JavaScript的数据类型时,好多做了很多年web的朋友甚至还不太清楚。这应该算是最基础的js知识了。我觉得有必要在这记录一下,方便自己和大家查看。

最基本的,js有五种数据类型:undefined,boolean,string,number,object(包含null)

一切声明了而未赋值的变量的值都是undefined。

var a;             //typeof a结果为undefined

var a=true;     //typeof a结果为boolean

var a='abc';    //typeof a结果为string

var a=1;        //typeof a结果为number

var a={};      //typeof a结果为object

var a=null;    //typeof a结果为object:这是因为null被认为是不存在的对象的占位符

我们接着往下看:

undefined==null

你会发现上面这个等式的结果为true,这是为什么呢?这涉及到js最初设计时作者的一些顾虑,这里就不详细讲了,感兴趣的朋友可以去查资料,我们这里只做一个记录,简单的解释为undefined就是从null派生而来的。

当你用undefined===null比较时又会发现结果为false,这就是因为它们的初衷就不一样,undefined表示没有声明了但未初始化的值,但null表示不存在的对象。

也许,你悄悄的这样试了一下:

function f_test(){}

typeof f_test

结果为'function'

你会说你是不是少说了一种数据类型,这不是还有一种嘛。

刚开始我也有这样的疑问,但后来慢慢的明白了。

首先:函数不是数据,它只是处理数据的方法,所以不能称之为数据类型。

其次:即使我们不太负责任的认为它是数据,在以后的介绍中你也会明白函数和对象之间是有血缘关系的,因为函数的原型就是对象。

后面的介绍中我们会发现:js中一切皆为对象。

以上是我在工作学习中所学到的,理解的js的数据类型,希望对大家有所帮助,可能有的地方理解的还比较片面,欢迎大家批评指正,共同学习。

谢谢!

JavaScript数据类型的更多相关文章

  1. Javascript:Javascript数据类型详解

    要成为一个优秀的前端工程师,系统的学习Javascript,有夯实的Javascript基础,以及对语言本身的深刻的理解,是基本功.从Javascript数据类型开始,我将对Javascript知识体 ...

  2. JavaScript数据类型 typeof, null, 和 undefined

    JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Da ...

  3. 网页、JavaScript 数据类型

    JavaScript 数据类型 一.基本数据类型: 字符串.数字.布尔.日期和时间 JavaScript 拥有动态类型 JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: 1 v ...

  4. javascript数据类型、初始化

    Javascript数据类型有6种: 数值型数据类型(Number): 字符串(String): 布尔型数据(Boolean): 对象数据(Object): 空(Null): 未定义(Undefine ...

  5. 第九十九节,JavaScript数据类型

    JavaScript数据类型 学习要点: 1.typeof操作符 2.Undefined类型 3.Null类型 4.Boolean类型 5.Number类型 6.String类型 7.Object类型 ...

  6. Javascript数据类型共有六种

    Javascript数据类型共有六种 /* var box; alert(typeof box); // box是Undefined类型,值是undefined,类型返回的字符串是undefined ...

  7. JavaScript复习之--javascript数据类型隐式转换

    JavaScript数据类型隐式转换.一,函数类    isNaN()    该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true.    alert()    输出的内容隐式的 ...

  8. 数据的分类-JavaScript数据类型

    JavaScript数据类型 1.数据类型是什么? 我们接触的绝大多数程序语言来说,把数据都进行了分类,包括数字.字符.逻辑真假:int,long,string,boolean....等等:我们都知道 ...

  9. js基础--javaScript数据类型你都弄明白了吗?绝对干货

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...

  10. 每天五分钟-javascript数据类型

    javascript数据类型分为基本数据类型与复杂数据类型 基本数据类型包括:string,number,boolean,null,undefined,symbol(es6) 复杂数据类型包括:obj ...

随机推荐

  1. JavaScript中的防篡改对象

    由于JavaScript共享的特性,任何对象都可以被放在同一环境下运行的代码修改. 例如: var person = {name:"caibin'} person.age = 21; 即使第 ...

  2. overflow:hidden 影响布局的问题

    a 与 b 都是 inline-block且高与父元素 c 相同均为 30px,而在a加上 overflow:hidden; 会使 a 的底线与整个父元素 c 的 text baseline 对齐,相 ...

  3. BZOJ2933:POI1999地图

    Description     一个人口统计办公室要绘制一张地图.由于技术的原因只能使用少量的颜色.两个有相同或相近人口的区域在地图应用相同的颜色.例如一种颜色k,则A(k) 是相应的数,则有: 在用 ...

  4. Android之Dialer之紧急号码

    Android之Dialer之紧急号码 e over any other (e.g. supplementary service related) number analysis. a) 112 an ...

  5. 7 -- Spring的基本用法 -- 4...

    7.4 使用 Spring 容器 Spring 有两个核心接口:BeanFactory 和 ApplicationContext,其中ApplicationContext 是 BeanFactory ...

  6. nvmw安装,用于控制node版本;

    之前一直使用的是node v2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试: 上网一看才发现,尼玛的node已经到了6.+版本了,好吧,看来还是得跟 ...

  7. UIautomator Python测试

    #!/usr/bin/env python # -*- coding: utf-8 -*- import unittest from mock import MagicMock, patch impo ...

  8. js/jquery 去掉空格.回车.换行

    本文转载自 http://hi.baidu.com/niubore/item/426532faab4ddcc50dd1c8f9 Jquery:$("#accuracy").val( ...

  9. tab切换-2016.6.4

    以前的tab切换,一般都是自己找网上的源代码,不知道含义,直接套,然后会有一些不知道的问题出现. 最近学习了jq(当然属于懒人的我,学习进度很慢),然后再工作中遇到了tab选项卡,所以决定自己写一个. ...

  10. rtc 关机闹钟1 app层

    private static void enableAlertPowerOn(Context context, final Alarm alarm, final long atTimeInMillis ...