javascript 高级编程系列 - 基本数据类型
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进制浮点数
最新文章
- THINKPHP中关于接口问题(客户端)
- php高版本不再使用mysql_connect()来连接数据库
- chgrp 简明笔记
- dynamic基元类型
- Pomelo服务器琐碎方法
- 利用maven的resources、filter和profile实现不同环境使用不同配置文件
- poj 2679 Adventurous Driving(SPFA 负环)
- 基于FPGA的DW8051移植(三)
- MyBatis源码解析【5】工厂的构建
- linux上搭建ftp
- JSP基础使用
- centos/linux下的安装Nginx
- linux驱动---用I/O命令访问PCI总线设备配置空间
- 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks
- innodb文件
- Centos7下ups监控apcupsd的使用
- 7z
- 1326: The contest(并查集+分组背包)
- QLoo graphql engine 学习一 基本试用(docker&;&;docker-compose)
- 使用WebClient與HttpWebRequest的差異
热门文章
- javascript基础1 语法 点击事件 超链接带点击事件
- Git使用规范流程(转载)
- [解决方案]Window 2008 R2 + IIS7.5 + VS2013 错误代码 0x80070002
- python time模块 sys模块 collections模块 random模块 os模块 序列化 datetime模块
- C语言实验报告二
- select函数与stdio混用的不良后果 (转)
- #define xxx do{...} while(0) 宏定义
- C 语言 文件读写
- PHP文件函数
- python--导入就方便实现你需要的功能(模块)