JavaScript共有7种数据类型:number
,string
,boolean
,symbol
,undefined
,null
,object
1. number
整数和浮点数JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。Math.pow()
Math.pow()可以用来计算基数的指数次幂
//求2的3次方Math.pow(2,3) //8
科学计数法
数值也可以采用科学计数法表示
123e3 //123000
数值的进制
JavaScript对整数提供四种进制的表示方式:十进制、十六进制、八进制、二进制
十进制:没有前导0的数值。
八进制:有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。(后来 ES5 添加了 0o11 语法)
十六进制:有前缀0x或0X的数值。
二进制:有前缀0b或0B的数值。
2.string
多行字符串可以在每一行的尾部使用反斜杠
var longString = 'Long long long string';longString// "Long long long string"
或者使用连接运算符+
var longString = 'Long '+ 'long '+ 'long '+ 'string';longString// "Long long long string"
字符集
JavaScript使用Unicode字符集,JavaScript引擎内部,所有字符都用Unicode表示Base64转码
所谓 Base64 就是一种编码方法,可以将任意值转成 0~9、A~Z、a-z、+和/这64个字符组成的可打印字符。使用它的主要目的,不是为了加密,而是为了不出现特殊字符,简化程序的处理。btoa()
:任意值转为 Base64 编码atob()
:Base64 编码转为原来的值
var string = 'Hello World!';btoa(string) // "SGVsbG8gV29ybGQh"atob('SGVsbG8gV29ybGQh') // "Hello World!"
3.boolean
boolean的值只有两个:true和falsea && b
在 a 和 b 都为 true 时,取值为 true;否则为 falsea || b
在 a 和 b 都为 false 时,取值为 false;否则为 true4.undefined和null
null
与undefined
都可以表示“没有”,含义非常相似。
undefined == null// true
(规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend(习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)
5.object
object 就是上面几种基本类型(无序地)组合在一起object 的 key 一律是字符串,不存在其他类型的 keyobject[''] 是合法的属性的读取读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符。两者是有区别的
//如果使用方括号运算符,键名必须放在引号里面,否则会被当作变量处理。var foo = 'bar';var obj = {foo: 1,bar: 2};obj.foo // 1obj[foo] // 2
查看属性
查看一个对象本身的所有属性,可以使用Object.keys
方法
var obj = {key1: 1,key2: 2};Object.keys(obj);// ['key1', 'key2']
删除属性delete
命令用于删除对象的属性,删除成功后返回true
var obj = {p: 1 };Object.keys(obj) // ["p"]delete obj.p // trueobj.p // undefinedObject.keys(obj) // []
属性是否存在in
运算符用于检查对象是否包含某个属性,如果包含就返回true,否则返回false
var obj = {p: 1 };'p' in obj // true'toString' in obj // true
属性的遍历for...in
循环用来遍历一个对象的全部属性
var obj = {a: 1, b: 2, c: 3};for (var i in obj) {console.log('键名:', i);console.log('键值:', obj[i]);}// 键名: a// 键值: 1// 键名: b// 键值: 2// 键名: c// 键值: 3
注意:for...in
遍历的是对象所有可遍历(enumerable)的属性,会跳过不可遍历的属性。for...in
不仅遍历对象自身的属性,还遍历继承的属性。
6.typeof操作符
typeof
运算符可以返回一个值的数据类型。
null和function比较特殊
typeof操作符.png
如果觉得《javascript number转string不用科学计数法_[JavaScript]之数据类型篇》对你有帮助,请点赞、收藏,并留下你的观点哦!