JavaScript(2)基本数据类型
1. 基本数据类型 结构:
2.String:
- 需要用引号引起来
- 单双引号都可以
- 在字符串中,我们可以使用\作为转义字符,表示一些特殊符号
var str = 'banyuan';
// \" "
// \n 换行
// \' '
3. Number:
- 所有的数值都是数字类型
- 包括了整数和小数
- 如果超过最大值,返回Infinity (无穷)
- NaN ( not a number )
- 精度丢失,在js中减少精确度很高的计算。
var a = 123;
var b = '123'
typeof a;
// 最大值
Number.MAX_VALUE
//NaN
console.log('abc' * 'abc');
//精度丢失
var num = 0.1 + 0.2;
var num = (1 + 2)/10;
4.布尔:
- true 真
- false 假
5.null:
专门用来表示一个为空的对象
6.undefined:
只有一个值,就是undefined
声明一个变量并不给其赋值,它的值就是undefined
7.null与undefined的区别:
null表示"没有对象",即该处不应该有值。
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。
8.强制类型的转换:
将一个数据类型强制转化为其他的数据类型
- String
- Number
- Boolean
// 转string
var a = 123;
a.toString();
var a = null;
a.toString(); // null与undefined会报错。
String(a) // null 与 undefined不会报错
// 转number
// 如果是纯数字,则直接转换成数字
// 如果不是纯数字,则转换为NaN undefined: NaN. null: 0
// 如果字符串是一个空的,则为0
Number(a);
//parseInt() parseFloat()
// 专门用来对付字符串
var a = '123px';
parseInt(a);
// 注意
var a = 'a123abc';
var a = '123.222asda';
parseInt(a);
// 转换进制
// js中如果需要表示16进制,则需要0x开头
var a = 0x10;
// 以0开头为8进制数字
var a = 010
var a = '010' // 浏览器兼容性可能有问题,不一定按8进制解析
// 使用parseInt(a,xx)
parseInt(a,8);
//boolean
Boolean();
// 除了0和NaN,其余都是true
var a = 123 //true
var a = 0 //false
var a = Infinity//true
var a = NaN //false
// 除了空串,都是true
var a = 'str' //true
var a = ''//false
//null 与 undefined都是false
var a = null //false
var a = undefined //false