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的值
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,145评论 0 13
  • 简介 JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有七种。 n...
    sxfshdf阅读 880评论 0 48
  • JS 里的数据类型 JavaScript 的数据类型,共有六种。 1、数值(number)2、字符串(string...
    leiuno阅读 308评论 0 1
  • JS目前共有7种数据类型,其中6种为简单类型(number,string,boolean,null,undefin...
    龍光射牛斗阅读 187评论 0 0
  • 1. 七种数据类型 number 数值 :整数和小数 string字符串 : 文本 boolean布尔值 :tru...
    加油吧_阅读 147评论 0 0