js数据类型

7种数据类型

数字、字符串、布尔、symbol(符号)、null、undefined、对象

number,string,boolean,symbol,null,undefined,
object(array,function)

number

十进制:
1, .1, 1.23e2
二进制:
0b11
八进制:
011
十六进制:
0X11

string

'你好'
"你好"
''空字符串:0
' '空格字符串:1

转义 \转义符

var n = '\n' 回车
var t = '\t' tab
var b = '\' \符号

多行字符串(不是字符串有回车)

var s = ' 12345
67890' 可行
var s = '12345
67890' 报错
var s2 = '12345' +
'67890'
ES6写法:var s4 = 12345 67890

布尔 boolean

true/false
真/假

&&与 ||或

symbol :

symbol

null类型 一个值 null

undefined 类型 一个值 undefined

什么也没有
BUG

1.变量没有值---undefined
2.有一个对象object 现在不想赋值 null var obj = null
有一个非对象 不想赋值 undefined var n
惯例


object 哈希表 复杂类型

var person = {
'name':'along',
'age': 18,
'gender':'male'
self: person
}

键名不加引号,要严格遵守标识符规则,否则9a,a b 错误

person.self.self.self.self.name???

person['name'] 引号不能删

= person.name

delete person['name'] 删除键
person.name //undefined
'name' in person //false

遍历对象

for (var key in person){
console.log(person[key])
}

判断数据类型

string number boolean symbol unde null object

typeof 后

‘string’,‘number’,'boolean','symbol','unde' ,#'object', 'object'

特殊情况: 1.typeof null // ‘object’
2.typeof fn // 'function'

错误的问题:

关于 JS 字符串,正确的是
JavaScript引擎不能自动识别编号大于0xFFFF的Unicode字符
JS允许在程序中使用Unicode编号表示字符,写成\uxxxx的形式
'\u00A9' 表示 "©"
var f\u006F\u006F 是合法的
"".length 为 2 是因为 "" 是两个字符(错,单个字符但是length为2)

2.我想知道变量 a 是否已经声明过(值为 undefined 不代表没有声明过),应该用什么代码

if ('a' in window) { ... }

3.我想知道一个对象有哪些 key,应该用什么 API

Object.keys

你可能感兴趣的:(js数据类型)