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进制浮点数
javascript 高级编程系列 - 基本数据类型的更多相关文章
- javascript 高级编程系列 - 函数
一.函数创建 1. 函数声明 (出现在全局作用域,或局部作用域) function add (a, b) { return a + b; } function add(a, b) { return a ...
- javascript 高级编程系列 - 继承
1. 原型链继承 (缺点:子类继承父类的引用类型的属性值会在各个实例中共享,创建子类实例时无法向父类构造函数传递参数) // 定义父类构造函数 function SuperClass(father, ...
- javascript 高级编程系列 - 创建对象
1. 工厂模式 function createPerson(name, age) { var obj = {}; obj.name = name; obj.age = age; obj.getName ...
- javascript高级编程笔记01(基本概念)
1.在html中使用JavaScript 1. <script> 元素 <script>定义了下列6个属性: async:可选,异步下载外部脚本文件. charset:可选, ...
- JavaScript高级编程———JSON
JavaScript高级编程———JSON < script > /*JSON的语法可以表达一下三种类型的值 简单值:使用与javas相同的语法,可以在JSON中表达字符串.数值.布尔值和 ...
- JavaScript高级编程———基本包装类型String和单体内置对象Math
JavaScript高级编程———基本包装类型和单体内置对象 <script> var stringObject = new String("hello world") ...
- JavaScript高级编程——Date类型
JavaScript高级编程——Date类型 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ...
- JavaScript高级编程——Array数组迭代(every()、filter()、foreach()、map()、some(),归并(reduce() 和reduceRight() ))
JavaScript高级编程——Array数组迭代(every().filter().foreach().map().some(),归并(reduce() 和reduceRight() )) < ...
- JavaScript高级编程——引用类型、Array数组使用、栈方法
JavaScript高级编程——引用类型.Array数组使用.栈方法 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999 ...
随机推荐
- iOS学习笔记46-Swift(六)扩展
一.Swift扩展 扩展就是向一个已有的类.结构体或枚举类型添加新功能,这包括在没有权限获取原始源代码的情况下扩展类型的能力.扩展和 Objective-C中的分类(category)类似,但是它要比 ...
- BZOJ 4868 [Shoi2017]期末考试 ——三分 枚举
考场上xjb三分过掉了. 然后$sdfzyhx$.$silvernebula$ $O(n)$虐掉了. 我还是太菜了 #include <cstdio> #include <cmath ...
- 学习 JSP:第一步Eclipse+Tomcat+jre(配置环境)
[下载软件](例子version:版本号) Eclipse从官网下载(version:4.7)http://www.eclipse.org/downloads/ jre从官网下载(version:1. ...
- php的异常处理
https://my.oschina.net/sallency/blog/837615
- Zabbix实现短信报警设置(实战)
配置环境: zabbix 2.2.15 1.配置示警媒介类型 此文件所在位置:/usr/lib/zabbix/alertscripts/ 必须拥有执行权限,并且改变所属用户和组 要修改此脚本的路径,需 ...
- hibernate 4.3 在使用获取数据获取不到数据库中最新变更的数据问题解决
hibernate 4.3 在使用获取数据获取不到数据库中最新变更的数据问题解决,应该是因为缓存问题 问题过程和现象: 查询一个数据列表=>数据库中手动update了数据=>刷新页面,数据 ...
- Mondriaan's Dream(poj 2411)
题意:在n*m的方格里铺1*2的骨牌,有多少种方案 /* 第一次做插头DP,感觉和状压差不多. 这道题是利用上一行的状态来更新下一行的状态. 1代表上一行这个位置填了一个竖的(即本行可以填): 0代表 ...
- C语言实验设计
一.实验题目,设计思路,实现方法 7-4 计算分段函数[2](10 分) 本题目要求计算下列分段函数f(x)的值: 注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂. ...
- ie下table无法设置宽度的坑,解决方案:在td里面添加div把td宽度撑开即可。
<td><div style="width:180px"> <a data-b="2" class="btn btn-s ...
- 定位 UNIX 上常见问题的经验总结
本文主要对 UNIX 平台常见的问题进行了分类,介绍一些常见问题分析时使用的方法和命令,对以下三种常见问题的分析方法做了简单介绍:UNIX 下 Crash 问题的分析方法.UNIX 下内存泄露问题的分 ...