javaScript(一):数据类型

141 阅读1分钟

number

string

注意:string中的空格、回车等等都不会被忽略

null与undefined(基本类型)

区别

  1. 如果一个变量没有赋值,他就是undefined
  2. 如果想有一个对象(object)但是现在不想赋值,推荐使用null
  3. 如果想有非对象但是现在不想赋值,推荐使用undefined(就是默认)
    var obj = null
    var n 

object对象(哈希表)(复杂类型)

复杂类型是由简单类型组成的,对象就是简单类型的组合 point:js中只支持以字符串为key,即使省略引号也是字符串

var person = {
'name' = 'mjk',
'age' = 18,
'married' = true,
'children' = null,
'parents' = {'name' = 'mjg',
'age' = 56,
'married' = true,
'children' = null,}
}

使用时

person['name']

此时中括号中必须加引号,因为不加引号name就是一个容器

特殊

    '' = 'frank' √
    9a = 'frank' × (不加引号遵循标识符原则)
    '9a' = 'frank''a空格b' = 'frank'√
    a空格b = 'frank' ×

在符合标识符标准的情况下:person['name'] = person.name 3. delete

for in

for(var key in person){
    console.log(key,person[key])
}
打印出的顺序是任意的

特别注意:console.log(person.key)×!

原因:person.key 等价于person['key'],person中没有一个字符串是key,所以根本不存在,应该是key这个容器person[key]

type of

type有两个bug

  1. null返回类型为'object'
  2. function返回的数据类型是'function'(没有'function'这个数据类型,应该是object)