美文网首页
JavaScript 数据类型

JavaScript 数据类型

作者: 封燐 | 来源:发表于2018-09-18 16:39 被阅读0次

JavaScript 有7种数据类型:

  1. number(数值)
  2. string(字符串)
  3. Boolean(布尔)
  4. Symbol(符号)
  5. null
  6. undefined
  7. object(对象)
    前6种为基本类型(简单类型),object为复杂类型,复杂类型的值由简单类型组成。

number

十进制

1
0.1
.1
1.23e2
1.23E2

二进制

0b11
0B11

值为十进制的3

八进制

011

值为十进制的9

十六进制

0x11
0X11

值为十进制的17

string

'你好'"你好"
''"" 空字符串长度为0
' '" " 空格字符串长度为1
转义符 \:

代码 表示
'\'' 单引号
'\n' 回车
'\t' Tab 制表符
'\\' 转义符 \ 本身

上表中字符串长度均为1。
多行字符串:

var s1 = '12345\
         67890'
var s2 ='12345' + 
        '67890' 

推荐第二种,第一种容易出 bug(/后面多写了空格)
ES6 可以用反引号`写多行字符串:

var s3 = `12345
67890`

字符串s3的长度为11,包含反引号中的回车和空格。

boolean

值为true 或 false
&& 与运算
|| 或运算

null

值为 null

undefined

值为 undefined

null 与 undefined 的区别

  1. 如果一个变量没有赋值,那么他的值是 undefined。
  2. (惯例)如果一个对象(object),暂时不想给他值,用 null。
    如果一个非对象(number、string等),暂时不想给他值,用 undefined。

object

对象就是简单类型的组合。

var person = {
'name': 'frank',
'age': 18,
married: true,
children: {name: 'xxx', age: 1},
xiaosan: undefined,
self: person,
'': 'frankxx',
'a b': 'a b c',
}

花括号里面可以是其他简单类型,也可以是另一个对象,甚至可以时自己。
冒号左边是 key(又称属性),key必定是字符串,花括号中的 key 的引号可以省略,如果不加引号,key的命名规则必须遵守标识符(变量名)的命名规则。
花括号中最后一组值后面的逗号在 ES3 中不能有,在 ES5 中可以有。

person['name']
person.name

使用时方括号中 key 的引号不能省略。
在 key 的命名规则遵守标识符(变量名)的命名规则的情况下,使用时可以用 person.name 的形式。

delate person['name']
delate person.name

可以删除一组 key 和value。

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

遍历对象里的 key 和 value。

Object.keys(person)

查看对象的所有属性。

'name' in person

检查对象里是否有某个属性。

with

var obj = {
  p1: 1,
  p2: 2,
};
with (obj) {
  p1 = 4;
  p2 = 5;
}
// 等同于
obj.p1 = 4;
obj.p2 = 5;

with 语句的一个很大的弊病就是绑定对象不明确,建议尽量不要使用with语句。

typeof

返回变量的数据类型。

变量 typeof
number "number"
string "string"
boolean "boolean"
symbol "symbol"
null "object" // Bug之一
undefined "undefined"
object "object"
function "function" // Bug之二

相关文章

网友评论

      本文标题:JavaScript 数据类型

      本文链接:https://www.haomeiwen.com/subject/sciunftx.html