JS中的数据类型

JS中的6种数据类型  字符串(string),数值(number)布尔值(boolean),null ,undefined,symbol

一。字符串

①长字符串换行时需要加 \ 否则会报错,也可以使用'+'号。eg(var a="xxx"+"xx")

②字符串可以视为字符数组 可以使用数组的下标来取值   eg(var a="hello" a[2]="l"),

    但是并不能改变length的长度。

③JS使用Unicode字符集,字符长度都是16位(2个字节)。

④转义 


二。数值

①js底层中没有整数,涉及到小数操作经常会出错。

②数值的科学计算法,(123e3=123000)(123e-3=0.123)

③NAN是数值的一种特殊值,经常出现在将字符串转换为数字时出错的场合。

④NAN和任何数的运算都是NAN(+-*/=)

⑤转换为数字 number  parseint  parsefloat 

number(): 任何不能转换为数字的值 //nan ,  ''.和null  //0 , object ,undefined //nan。

paeseint():用于将字符串转换为整数

   1.如果字符串中的第一个字符不能转换为数字则返回NAN(除+ -)。

   2.parseint转换结果和number不一样

      paeseint(true) //nan

       number(true) //1

     parseint('123ys') //123

       number(123ys); //nan

paeseint(1.2344)  //1

parsefloat(1.2344)//1.2344

⑥isNan()用来判断一个值是不是nan 如果是返回true 否返回false

isNan("shshss") //true,当他的值为字符串的时候也会返回true   

当isNan()传入其他值(除数值外)都会将他的值转换为数值类型,当装换为数值类型时会返回NAN (number("bbbbb")-----nan -------isnan(nan)),然后再经过isnan(nan)---(true),由于同样的原因对象,数组,一样返回true,但是对于空数组和有一个值的数组则返回false.

三。null ,undefined  boolean 

①null和undefined语法几乎没有区别,  null==undefined

   ull用来表示一个为空的对象

   undefined 表示一个此处无定义的初始值

②返回undefined的几种情况,1声明未赋值 

                                               2调用函数时没有提供参数 eg(functiong com(a){return a} com() //undefined)  

                                                3函数没有返回值,eg(function c(){a+b} c() //undefined)

                                                4对象没有赋值的属性 eg(var a=new object() a.p //undefined)

③boolean有两个值true和false

④bollean() 以下值会自动转换为false。undefined ,null ,"",nan,+0/-0,false外其他值都为true

⑤空数组和空对象返回的都是true

四。Object对象

①对象时js语言的核心概念,也是最重要的数据类型。

②对象一组键值对的集合,是一种无序的复合数据类型(集合中可以包含多种不同的类型)。

eg(va a={a:true;b:1;c:'string'})

③var a(变量)={a(属性/键名):"1"(值),c:"string"}

④键名的第一个值为数字,或者含有空格,运算符如果不加上双引号(''),会提示错误。

⑤对象的属性可以动态创建,不必再对象声明时就指定

⑥对象的引用,如果不同的变量名指向同一个变量(他们就是这个变量的引用),如果对单一变量赋值会影响        到其他变量,取消单一变量不会影响到其他变量。    

4.2属性的操作

4.2.1属性的读取:点方法和方括号方法

①方括号运算符,键名必须放在引号里面,否则会被当做变量处理。                                                                                 eg(var foo=‘bar’ var  obj={foo:'1',bar:'2'}  obj.foo  //1   obj[foo] //2)

②数字键名不能使用点运算符,只能使用方括号。

4.2.2属性的赋值                                                                                                                                                     js可以在任意时刻新增属性,没必要在声明的时候就定义                                                                                       赋值  eg(var obj={}   obj.foo=true;    obj['foo']=true;)                                                                                       新增eg(var obj={a:"string"}   obj.c="12345")

4.2.3属性的查看                                                                                                                                                             查看一个对象的所有属性的方法,可以使用Object.keys(对象名)         只返回key的值                                                  var  a={ "0p":"string ",a:"4342"}    object.keys(变量名);      //key1  key2

4.2.4属性的删除                                                                                                                                                         delect命令用于删除对象的属性,删除成功后返回true。只有一种情况下会返回false(该属性存在但是            不能被删除)       语法( va obj={p:1} 查看Object.keys(obj);  删除delect .对象名.属性)

4.2.5判断属性是否存在(in运算符)                                                                                                                    ①in运算符用于检查对象是否包含某个属性(键名)如果有就返回true  否则返回false                                         eg(var hello={a:123,b:"string"}    a in hello  //true)                                                                                                          语法a  in  hello     //  in 左侧的值需为字符串                                                                                  ②in 运算符无法判断属性是本身的还是继承。                                                                                                  ③还可以用hasOwnPropertry方法判断是否为对象自身属性                                                                                  var obj={"p":"hello world"}  console.log( 对象名.hasOwnProPertry(属性名))。

4.3属性的遍历(for .....in  循环)                                                                                                                            ①for.....in 循环用来遍历一个对象的全部属性,他不仅用来遍历本身的属性还遍历继承的属性。                      ②他遍历的都是对象的可遍历属性,会跳过不可以遍历属性。△不会遍历tostring这个属性                                        var  a = { a:"1","1":"string "}      for(var  i in a){  console.log('键名':i);console.log('键名':a[i])}                      ③如果只需要遍历对象本身,可以结合hasOwnProPrety()来使用                                                                            eg(var a={'a':1,'rde':'ssss'} for(var s in a){  if(obj.hasOwnProperty(属性名)){console.log(key)})})

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

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,114评论 0 13
  • JS中的数据类型一共有7种: 基本类型(简单类型):数值(number)、字符串(string)、布尔值(bool...
    si_月阅读 187评论 0 0
  • 七种数据类型 JS语言中每一个值都属于某一种数据类型,JS共包括七种数据类型,string、number、bool...
    jackie季阅读 128评论 0 1
  • 大家好,我是IT修真院上海分院第1期的Web学员刘洪利,今天给大家分享一下关于Js中的数据类型和常用方法 一.背景...
    LHongLi阅读 435评论 0 1
  • 琳purple阅读 213评论 0 0