2019-05-08javaScript里的的数据类型

javaScript的数据类型,有六种。

基本数据类型:

字符串(string):文本(比如hello)

数值(number):整数和小数(浮点数)(比如123和1.23)

布尔值(boolean):表示真假的两个特殊值,即true(真)和false(假)

undefined:表示未定义的或不存在的,即由于目前没有定义,所以此处暂时没有任何价值

 null:表示空值,即此处的值为空

复杂数据类型:

对象(object):各种值组成的集合

可以分为三个子类型

1.对象(object)

2.数组(array)

3.函数(function)

typeof运算符

typeof运算符可以返回一个值的数据类型

1.数值,字符串,布尔值,`undefined`分别返回

number,string,boolean,undefined


2.函数返回function


3.null对象返回object

null的类型是object,这是由于历史原因造成的.1995年的 JavaScript 语言第一版,只设计了五种数据类型

(对象、整数、浮点数、字符串和布尔值),没考虑null,只把它当作object的一种特殊值。后来null独立出来,

作为一种单独的数据类型,为了兼容以前的代码,typeof null返回object就没法改变了。


 字符串(string)

1.定义

字符串就是零个或多个排在一起的字符,放在单引号或双引号中

abc

abc

* 多行字符串

如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。

(注意,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。)


连接运算符(+)可以连接多个单行字符串,将长字符串拆成多行书写,输出的时候也是单行。


输出多行字符串


2.转义

反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。


  数值(number)

number表示整数和浮点数

1.JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。

所以,1与1.0是相同的,是同一个数。


由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。


2.数值的表示方法

JavaScript 的数值有多种表示方法,可以用字面形式直接表示,

比如35(十进制)和0xFF(十六进制)。


数值也可以采用科学计数法表示


3.数值的进制


默认情况下,JavaScript

内部会自动将八进制、十六进制、二进制转为十进制。


nul和undefined

null:指一个空对象(object),没有赋值

undefined:指一个非对象(数据类型中除了object以外的值),没有赋值

null与undefined都可以表示没有

undef`是派生自null值的,所以undefined==null


布尔值(boolean)

布尔值只有两个值。

布尔值代表“真”和“假”两个状态。“真”用关键字true表示,“假”用关键字false表示。


当值为false时浏览器是不执行该代码,为true时执行,所以可以这样使用,达到网页中控制鼠标点击按钮,

开关状态的切换


对象(object)

对象(object)是 JavaScript语言的核心概念,也是最重要的数据类型。

1.什么是对象?

对象(object):各种值组成的集合


上面代码中,大括号就定义了一个对象,它被赋值给变量obj,所以变量obj就指向一个对象。该对象内部

包含两个键值对,

第一个键值对是name: marry,其中name是键名,字符串marry是键值。键名与键值之间用冒号分隔。

第二个键值对是age: 18,age是键名,18是键值。两个键值对之间用逗号分隔。

2.键名

对象的所有键名都是字符串


键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),且也不是数字,则必须加上引号,否则会报错。


3.属性的读取

读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符。


4.属性的赋值

点运算符和方括号运算符,不仅可以用来读取值,还可以用来赋值。


5.属性的查看

查看一个对象本身的所有属性,可以使用Object.keys方法。


6.属性的删除:delete 命令

delete命令用于删除对象的属性,删除成功后返回true。


删除后,再读取p属性就会返回undefined,而且Object.keys方法的返回值也不再包括该属性。

7.属性是否存在:in运算符

in运算符用于检查对象是否包含某个属性(键名)包含就返回true,否则返回false


in运算符的一个问题是,它不能识别哪些属性是对象自身的,哪些属性是继承的。就像上面代码中

,对象obj本身并没有toString属性,但是in运算符会返回true,因为这个属性是继承的。

8.属性是否为对象自身的属性hasOwnProperty


9.属性的遍历:for...in 循环

 for...in循环用来遍历一个对象的全部属性。

*它遍历的是对象所有可遍历(enumerable)的属性,会跳过不可遍历的属性。

 它不仅遍历对象自身的属性,还遍历继承的属性。




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

推荐阅读更多精彩内容