JavaScript数据类型详解

数据类型详解

①JavaScript字符串   有不可变性
正常字符串我们使用单引号或双引号包裹;
注意转译字符:\'字符串、\n换行、\t空格、\u4e2d unicode字符、\x41 Ascll字符
多行字符串编写: var msg=`1            注:`不是引号在teb键上面esc键下面
          你
          好`
模板字符串:let name='学习';                        注:`不是引号在teb键上面esc键下面
    let s='mmm';
    let m=`你好${name}${s}`

字符串长度:console.log(m.length)                    字符串名.length
通过字符串下标取元素:console.log(m[0])             字符串名[下标] 
字符串大写方法:console.log(s.toUpperCase())              字符串名.toUpperCase()
字符串小写方法:console.log(s.toLowerCase())          字符串名.toLowerCase()
字符串获取指定下标方法:console.log(m.indexOf('你'))     字符串名.indexOf('你')
字符串截取一段的方法[):console.log(m.substring(2))  从第2个字符到完    console.log(m.substring(2,5)) [包头不包尾)

②JavaScript数组
可以包含任意数据类型  var arr=[1,2,'hellow',null,ture]
数组长度:arr.lenght     注:加入给数组arr.lenght赋值数组大小会发生变化,如果赋值过小元素就会丢失
取数组元素:arr[0]                       数组名[下标]
修改数组元素:arr[0]=1                数组名[下标]=赋值数
通过元素获取数组下标:arr.indexOf('hellow')        数组名.indexOf(元素)
数组截取一段的方法[)和字符串的substring()类似:arr.slice(2)  从第二个到完     arr.slice(2,5)  [包头不包尾)
将元素压入数组尾部:arr.push('a','b')            数组名.push(元素)
将元素从数组尾部弹出:arr.pop()            数组名.pop()   一次只能弹出一个元素
将元素压入数组头部:arr.unshift(',','001')            数组名.unshift(元素)    
将元素从数组头部弹出:arr.shift()            数组名.shift()   一次只能弹出一个元素
数组内部排序方法:arr.sort()                数组名.sort()
数组元素反转:arr.reverse()                数组名.reverse()
连接数组并返回一个新数组:arr.concat(55,66)        数组名.concat(数组)    返回一个新数组,对原来数组没有改变
打印拼接数组,使用特定字符串连接:arr.join('^')        数组名.join(连接符)
多维数组:arr=[[1,2],[3,4],['5','6']];     取多维数组值:arr[1][1]

③对象
对象定义:var 对象名={                             如:var  p={
            属性名1:属性值,            name:'xuexi',
            属性名2:属性值,……        nianling:23,
            属性名n:属性值            tags:['js','java','html']
        }                    }
对象赋值:p.name='zxw'                对象名.属性名=属性值            
使用一个不存在的对象,不会报错,undefined
JavaScript通过动态删减对象属性:delete p.name           delete 对象名.属性名
JavaScript通过动态添加对象属性:p.ha=33 直接添加即可      对象名.新属性名=属性值
判断一个属性是否在这个对象中:  'tags' in p         '属性名' in 对象名
判断一个属性是否是自身拥有的:p.hasOwnProperty('tags')      对象名.hasOwnProperty('属性名')
注:两个判断属性的区别:in能够找到继承的属性,hasOwnProperty只能判断自身拥有的为true

④流程控制:if判断、while循环、for循环
if判断语法:
    if (i1<5){
            alert('hh')
    }
    else if (i1>2){
            alert('ff')
    }
    else {
            alert('yy')
    }

while循环语法:注:避免死循环出现
    while (i1<20){
            i1=i1+1;
            console.log(i1)
    }

    do{
            i1=i1+1;
           console.log(i1)
    } while (i1<20)

for循环语法:
    for (let i=0;i<10;i++){
            console.log(i)
    }

forEach循环,遍历一个数组语法
    a.forEach(function (value){
            console.log(value)
    });

for……in循环,遍历对象语法   
    for (var num in p) {
       // if (p.hasOwnProperty(num)){
            console.log(num)
      //  }
    }
for……of遍历数组具体值        注:for in用来遍历数组下标或对象属性名,for of用来遍历数组值
    for (var x of a){
            console.log(x)
    }


⑤Map和Set
var map= new Map([['tom',60],['jack',80],['jear',55]]);      //Map只能是两个元素key和value
var v=map.get('tom')                        //通过key找到value
map.set('hh',66)                       //map.set()添加一个值
map.delete('tom')                //删除
var set=new Set([1,2,1,1,3,2])            //Set无限不重复集合,可以去重
set.delete(1)                //删除    
set.has(3)                    //是否包含这个元素
遍历map只能用for in:
    for (var x of map){
        console.log(x)
    }
遍历set也是用for in:
for (var x of set){
    console.log(x)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值