JS 里的数据类型
七种数据类型: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 并不是一个类型
- js语法深入一:js数据类型深入
- JS中number数据类型
- js 判断各种数据类型
- JS 数据类型转换
- JS中判断数据类型的几种方法
- 数据类型回顾——数据类型转换(显式和隐式)—JS学习笔记2015-6-3(第47天)
- js基本数据类型引用类型深复制浅复制
- js数据类型分类
- 判断JS数据类型
- js 深拷贝、浅拷贝与数据的类型判断
- 小白的廖雪峰JS教程学习笔记要点---数据类型和变量
- 前端JS基础篇(二)JS基本数据类型和引用数据类型及检测数据类型方法
- js的基本数据类型与普通类型
- JS 数据类型转换
- 1、JavaScript(js)基本核心技术体系(简述、数据类型,原生对象和内置对象、分支循环、函数)
- 用js解析经json序列化后的C#的DateTime类型数据
- 每日学习心得:Js基本数据类型常用方法扩展
- js 数据类型转换总结笔记
- 基本数据类型(JS)
- node.js数据类型检查