您的位置:首页 > Web前端 > JavaScript

JS 里的数据类型

2019-08-03 09:43 936 查看
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

七种数据类型:number string boolean symbol undefined null object
注意没有 array 类型也没有 function 类型。


number
整数和小数:1 1.1 .1
科学记数法:1.23e2
二进制:0b11
八进制:011(后来 ES5 添加了 0o11 语法)
十六进制:0x11
string
空字符串:’’
多行字符串:
var s = ‘12345’ +
‘67890’ // 无回车符号

var s =

12345 67890
// 含回车符号
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。
NaN 表示「非数」,NaN 是一个数字

JavaScript引擎不能自动识别编号大于0xFFFF的Unicode字符。JS允许在程序中使用Unicode编号表示字符,写成\uxxxx的形
式。’\u00A9’ 表示 “©”。var f\u006F\u006F 是合法的。
全局函数 btoa() 能将字符串转为Base64编码,全局函数 atob() 能将 Base64编码转为原来的编码。要将非ASCII码字符转为
Base64编码,必须中间插入一个转码环节。Base64是一种基于64个可打印字符来表示二进制数据的表示方法。

boolean 的取值
只有两个值:true 和 false
a && b 在 a 和 b 都为 true 时,取值为 true;否则为 false
a || b 在 a 和 b 都为 false 时,取值为 false;否则为 true
symbol

undefined 和 null
都表示没有值,至于 JS 为什么有两个表示「没有值」的东西,可以从 JS 之父的 twitter 中知道当时他也挺纠结的
(规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend
(习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接 var xxx 一下就行了,不用写 var xxx = undefined)
object
object 就是上面几种基本类型(无序地)组合在一起
object 里面可以有 object
var person = {
name: ‘Frank’,
‘child’: {
name: ‘Jack’
}, // 最后这个逗号可有可无
}
object 的 key 一律是字符串,不存在其他类型的 key
object[’’] 是合法的
注意 object.key 与 object[key] 不同
object.key等价于object[‘key’]

查看一个对象本身的所有属性,可以使用Object.keys方法。

var obj = {
keyone: 1,
keytwo: 2
};

Object.keys(obj);
// [‘keyone’, ‘keytwo’]

delete object[‘key’]
‘key’ in object //false;

for…in 循环用来遍历对象
for…in 循环会跳过不可遍历的 key(比如:length)
for…in 循环不仅遍历对象自身的属性,还遍历继承的属性

typeof 操作符
xxx 的类型 string number boolean symbol undefined null object function
typeof xxx ‘string’ ‘number’ ‘boolean’ ‘symbol’ ‘undefined’ ‘object’ ‘object’ ‘function’
注意 function 并不是一个类型

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: