javascript中的基本数据类型包括:

Undefined, Null, Boolean, Number, String 5种数据类型

1. Undefined 类型 (只有一个值 undefined, 常被用来表示未初始化的变量)

  • 如果一个变量未进行初始化则它的初始值为undefined, 数据类型为Undefined

var myVar;

myVar === undefined               // return true

typeof myVar === 'undefined'   // return true

  • 函数的参数列表中,未传入的实参的形参其值为undfined

function sum(a, b){

if(b === undefined) b = 0;

return a + b;

}

sum(1,2);     // return 3

sum(1);        // return 1, 其中第二个参数未传递值,则其值为undefined,

2. Null 类型 (只有一个值 null, 常被用来表示一个空对象指针)

  • 由于用来表示空对象,所以 typeof null === 'object'
  • 由于undefined 值派生自 null值,所以 null == undefined

3. Boolean 类型 (有两个值:true, false)

  • 数据类型转换使用 Boolean()

String:  Boolean('str'); // true

Boolean('');    // false

Number: Boolean(2);    // true

Boolean(0);    // false

Object:   Boolean({});  // true

Null:       Boolean(null); // false

Undefined: Boolean(undefined);  // false;

4. String 类型

  • 数据类型转换

var myVar = 5;

String(5);                //   return '5'   将任意类型转为字符串

myVar.toString();     //   return '5',  undefined 与 null 值没有此方法

myVar.toString(2);   //   return '101', 以二进制的形式返回

myVar += '';           //    return '5',  利用数据自动转换

 5. Number 类型

  • 浮点型 由于计算舍入误差 最好不要用在条件测试中
  • 整型    8进制在严格模式下无效
  • 最大值 Number.MAX_VALUE, 最小值 Number.MIN_VALUE
  • 正无穷大 Number.POSITIVE_INFINITY, 负无穷大 Number.NEGATIVE_INFINITY, 函数isFinite(value) 用于断定一个数值是否介于正无穷和负无穷之间
  • NaN 表示一个不是数值的值, 函数isNaN(value) 用于判断一个值进行数据类型转换后是不是 '不是数值'
  • 数据类型转换 Number() , parseInt(), parseFloat()

Number() : 可以转换任意类型的数据, 下面的表达式均返回true

Number(undefined) === NaN;

Number(null) === 0;

Number('34') === 34;

Number('34df') === NaN;

Number('') === 0;

Number(true)  === 1;

Number(false) === 0;

Number({})   === NaN;

parseInt(): 主要用于将字符串转换为整型类型, 第二个参数可以指定进制

parseInt(' 12df') === 12

parseInt('2.4dd') === 2

parseInt('') === NaN

parseInt('10', 10) === 10

parseInt('10', 2) === 2

parseFloat(): 用于将字符串转为浮点型数据,规则与parseInt相似,但没有第二个参数但,只能转为10进制浮点数

javascript 高级编程系列 - 基本数据类型的更多相关文章

  1. javascript 高级编程系列 - 函数

    一.函数创建 1. 函数声明 (出现在全局作用域,或局部作用域) function add (a, b) { return a + b; } function add(a, b) { return a ...

  2. javascript 高级编程系列 - 继承

    1. 原型链继承 (缺点:子类继承父类的引用类型的属性值会在各个实例中共享,创建子类实例时无法向父类构造函数传递参数) // 定义父类构造函数 function SuperClass(father, ...

  3. javascript 高级编程系列 - 创建对象

    1. 工厂模式 function createPerson(name, age) { var obj = {}; obj.name = name; obj.age = age; obj.getName ...

  4. javascript高级编程笔记01(基本概念)

    1.在html中使用JavaScript 1.  <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选, ...

  5. JavaScript高级编程———JSON

    JavaScript高级编程———JSON < script > /*JSON的语法可以表达一下三种类型的值 简单值:使用与javas相同的语法,可以在JSON中表达字符串.数值.布尔值和 ...

  6. JavaScript高级编程———基本包装类型String和单体内置对象Math

    JavaScript高级编程———基本包装类型和单体内置对象 <script> var stringObject = new String("hello world") ...

  7. JavaScript高级编程——Date类型

    JavaScript高级编程——Date类型 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ...

  8. JavaScript高级编程——Array数组迭代(every()、filter()、foreach()、map()、some(),归并(reduce() 和reduceRight() ))

    JavaScript高级编程——Array数组迭代(every().filter().foreach().map().some(),归并(reduce() 和reduceRight() )) < ...

  9. JavaScript高级编程——引用类型、Array数组使用、栈方法

    JavaScript高级编程——引用类型.Array数组使用.栈方法 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999 ...

随机推荐

  1. Python3 的异常处理

    Python3 的异常处理,在官方文档的 tutorial 中有说明. 这里把常用的异常处理方法都列出来,方便平时查找. 捕获异常基类 Python3 要求我们的异常必须继承 Exception 类. ...

  2. IB_DESIGNABLE 和 IBInspectable 的用法

    我们经常会在用一些自定义 UIView 来完成一些特殊的UI效果,但是怎么让我自定义的 UIView 在 Storyboard 中预览和修改一些自定义参数呢.这就需要用到两个吊吊的东西. IB_DES ...

  3. 【Luogu】P3155叶子的染色(树形DP)

    题目链接 树形DP水题qwq. 设f[i][j]是以i为根的子树,染成j色,且满足内部需求的最少染色节点数. 设to是x的子节点,那么状态转移方程如此设计: 1.f[i][0] 这个状态表示i不染色, ...

  4. 洛谷P3625 - [APIO2009]采油区域

    Portal Description 给出一个\(n\times m(n,m\leq1500)\)的矩阵,从中选出\(3\)个互不相交的\(k\times k\)方阵,使得被选出的数的和最大. Sol ...

  5. java面试题之wait(),notify()和suspend(),resume()之间的区别

    wait()方法和notify()方法的区别: 这两个方法都是属于Object类中的,也是配套使用的,当调用这两个方法阻塞时要释放占用的锁,而锁是任何对象都具有的,调用任意对象的wait()方法导致线 ...

  6. 我要好offer之 网络大总结

    1. TCP协议的状态机 TCP一共定义了11种状态,这些状态可以使用 netstat 命令查看 @左耳朵耗子 tcp系列教程: 上篇 下篇 2. TCP建立连接3次握手.释放连接4次握手 TCP包头 ...

  7. XMPP协议实现原理介绍(转)

    XMPP协议简介   XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messagi ...

  8. PHP连接MySQL报错"No such file or directory"的解决办法

    好下面说一下连接MYSQL数据库时报错的解决办法. 1,首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回“No ...

  9. express之中间件bodyParser的理解

    bodyParser用于解析客户端请求的body中的内容,内部使用JSON编码处理,url编码处理以及对于文件的上传处理.另外bodyParse也可以接受客户端ajax提交的json数据,以及url的 ...

  10. c#学习笔记之Application.DoEvents应用

    Visual Studio里的摘要:处理当前在消息队列中的所有 Windows 消息. 交出CPU控制权,让系统可以处理队列中的所有Windows消息 比如在大运算量循环内,加Application. ...