JS 里的数据类型

JS中的原始数据类型

  • number:数字类型(整数和小数)
  • string:字符串类型(一般用单引号或者双引号括起来的)
  • boolean:布尔类型(值只有两个:true,false)
  • null:空类型(值只有一个,即null)
  • undefined:未定义(值只有一个,即undefined)
  • object:对象类型
  • symbol:表示独一无二的值(ES6新增)

1.number 数值

整数和浮点数
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,1与1.0是相同的,是同一个数。
NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN ② NaN不等于自身。
isNaN() 函数用于检查其参数是否是非数字值。
isNaN(123) //false isNaN("hello") //true

2.String类型

字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
下面两种字符串的写法都是有效的:
var firstName="Marry"; var firstName='Jane';

注意:

如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此。
字符串默认只能写在一行内,分成多行将会报错。如果要分成多行,在每一行的尾部加上反斜杠 \
连接运算符 + 可以连接多个单行字符串,将长字符串分成多行,输出时也是单行。
String类型包含了一些特殊的字符字面量,也叫转义序列。

字面量 含义
\n 换行
\t 制表
\b 空格
\r 回车
\f 进纸
\ 斜杠
' 单引号
" 双引号
\xnn 以十六进制代码 nn 表示的一个字符(0~F)。例:\x41
\unnn 十六进制代码nnn表示的一个Unicode字符(0~F)。例:\u03a3

字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。
length属性返回字符串的长度,该属性也是无法改变的。

s.length // 5

s.length = 3;
s.length // 5

3.null和undefined

  • Undefined 类型只有一个值,即特殊的undefined。 在使用var声明变量,但没有对其初始化,这个变量的值就是undefined。
  • null 只有一个值null
    null与undefined都可以表示“没有”,相等运算符(==)甚至报告两者相等
    区别:有一个对象,还不想赋值,推荐给一个空值null
    非对象,还不想赋值,推荐给一个undefined

4.布尔值(boolean)

布尔值只有两个true和false,在条件表达式中,会将表达式转换为布尔值,以进行下一步操作。除了以下六个falsy值外,其它一切转换为布尔值都为true。

undefined
null
false
0
NaN
空字符串

小技巧:要将其它值转换为布尔值可使用双重取反!!xxx

object类型

对象,就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。

var a = {
  name: 'cong'
  age: '24'
}
  • key必须为字符串形式,引号可以省略。
    如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),且也不是数字,则必须加上引号
var a = {
  name: 'cong',
  age: '24',
  9b: '20',//不合法
  '9b'; '20' // 合法
}
  • 调用方法:点方法和方括号法。
    a.name // 当键名符合标识符规则
    a['9b'] //键名必须放在引号里面,否则会被当作变量处理
  • 删除对象的属性
delete a['name']
a.name //undefinedd (无value)
'name' in a //false (无key)
  • in运算符
    检查对象是否包含某个属性,如果包含就返回true,否则返回false。
var obj = { p: 1 };
'p' in obj // true
  • 遍历对象(for....in...)
for (var key in a) //此时打印出key的值

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