JS-数据类型

Javascript7种数据类型,分别为number string boolean symbol null undefined以及object

数值(number):整数和小数(比如1和3.14)
字符串(string):文本(比如Hello World)。
布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)
undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
null:表示空值,即此处的值为空。
对象(object):各种值组成的集合。

结下来分别具体介绍一下这7种数据类型

number(数值)

Js里的数值分别有
十进制二进制八进制十六进制

  • 数值的表示
十进制 二进制 八进制 十六进制
1 0b1 0o123 0x1BC1
1.1 0B1 0O123 0X1BC1
.1
1.23e2(科学)
  • 特点

*十进制:没有前导0的数值。
*八进制:有前缀0o0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。
*十六进制:有前缀0x0X的数值。
*二进制:有前缀0b或0B的数值。

默认情况下,JavaScript 内部会自动将八进制、十六进制、二进制转为十进制。

string(字符串)

  • 字符串的表示

单引号:'你好'
双引号:"你好"
空字符串:''&""
空格字符串:' '&" "

  • 转义符

为了让浏览器理解我们需要输入到页面中的一些特殊符号是文本,而不是命令,所以要在是文本的特殊符号前加上"\"
比如

var a = '\n'  //会车(行)
var b = '\t'  //tab(制表符)
var c = '\\'  // "\" 符号
  • 多行字符串

多行字符串推荐用下面这种方式
使用字符串拼接可以增加代码的易读性

var s = '123' + '456'

在ES6里可以用反引号 " ` "开头写多行字符串,反引号为数字键1左边的键

var s = `123
456`

boolean(布尔)

boolean是一个数学家,发明了逻辑学
故事:下雨 上课 没带伞 的了肺病 死了
布尔有两个值:true(真) false(假)

  • 与运算 和 或运算

与运算
a && b的真值表

a\b

或运算
a || b的真值表

a\b

null和undefined

一般来说,null表示空对象
undefined表示空非对象

  • 区别:

1.变量没有赋值:undefined
2.有一个对象(object),现在不想赋值,给它null(推荐)
有一个非对象,不想给他赋值,给他undefined(推荐)

object(对象)

前六种类型叫基本类型(简单类型)
object叫复杂类型,由简单类型组成

  • 对象的表示

比如下面就是一个对象

{
'key' : value
'name' : 'jiujizi',
'age' : 20,
'gonder' : 'male'
}

'key':value这种格式储存值,除前六种基础类型外的类型都是变量。

值得一提的是,key最好加上单引号,这样功能是最强大的
(key如果不加单引号,就必须依照标示符的命名规则)
还有对象里还能有对象,具体操作方式以后再说

  • 对象的引用
porson = {  //对象赋值给变量porson
          'key' : value
          'name' : 'jiujizi',
          'age' : 20,
          'gonder' : 'male'
          }
porson['name']  //jiujizi
porson.name  //这个也可以,不过是特例

上面就是对象的引用方式,记住单引号不能少

  • 对象的注意点
var person = {'name':jiujizi}
delete person['name']  // 删除person中的'name'这个key
person.name  //undefined(无value),因为delete操作符将key和value都删了

delete操作符能将对象的keyvalue都删了,与单纯的赋值成undefined不同

var person = {name:'jiujizi'}
person.name = undefined
'name' in person  //  true

对象内部的值就算被赋值为undefined,用in操作符来检验,它也依然是存在于该对象中的,并没有消失

一些操作符

  • delete
var person = {'name':jiujizi}
delete person['name']  // 删除person中的'name'这个key
person.name  //undefined(无value),因为delete操作符将key和value都删了

用于删除对象对应的key值
,把key删了,value自然也就没了

  • in
var person = {name:'jiujizi'}
person.name = undefined  //  给name这个key赋值为'undefined'
'name' in person  //  true,用in操作符来检验key是否存在于对象中

用于检测一个key是否存在于一个对象中

  • for...in...
var person = {name:'jiujizi',age:20}
for(var key in person){
console.log(key)  //  打印出person对象中的所有key
}  //  但打印的顺序是不确定的

for...in...可以用来遍历对象,但输出但值顺序却是不一定的

  • typeof
typeof 1  //  'number'
typeof 'aaa'  //  'string'
typeof symbol  //  'symbol'
typeof true  //  'boolean'
typeof null  //  'object'
typeof undefined  //  'undefined'
var a = {}
typeof a  //  'object'

typeof()可以打印出数据类型
打印出来的值都用单引号(双引号)包住,表示一个名词

这里有两个BUG

typeof null   //  'object'
var fn = function(){}
typeof fn  //  'function'
  1. null的数据类型应该是null,打印出来的却是object
  2. 数据类型function并不存在,但仍然可以打印出来,看来的确是一等公民了hhh
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,104评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,816评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,697评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,836评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,851评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,441评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,992评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,899评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,457评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,529评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,664评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,346评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,025评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,511评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,611评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,081评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,675评论 2 359