js学习 第二篇数据类型

二、数据类型 ———万物皆对象

2.1、字符串

  1. 正常字符创我们使用 单引号 或者双引号 包裹

  2. 注意转义字符 \

    \u**** // Unicode字符
     \x**   //ACSII字符
    
  3. 多行字符串编写

      //tab上面  esc键下面
            var msg = `
            asdasi
            safasf
            asfs`;
    
  4. 模板字符串

     let name = "zhansagn";
     let age = 3;
     let msg = `nihao,${name}`;
    
  5. 字符串长度

    str.length
    
  6. 字符串的可变性,不可变

  7. 大小写转换

    //转化为大写
    str.toLocaleUpperCase()
    //转化为小写   
    str.toLocaleLowerCase()
    //str是不变的  因为字符串的不可变   调用的是方法并非属性
    
  8. str.indexOf(‘t’)

  9. substring() 左闭右开 start<=index<end

    //从第一个字符串截取到最后一个字符串
    str.substring(1)
    //从1<=index<4
    str.substring(1,4)
    

2.2、数组

Array可以包含任意的数据类型

var arr = [1,2,3,4]
  1. 长度

    arr.length;
    

    **注意:**假如给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失

  2. indexOf() 通过元素获得下标索引

    arr.indexOf(1)
    

    如果有相同的元素,取的是下标小的哪一个

  3. slice()截取Array的一部分 返回一个新的数组 类似于String中的subString

    //从第一个截取到最后一个
    arr.slice(1)
    //从1<=index<4
    arr.slice(1,4)
    
  4. push(),pop() 从尾部添加 或者弹出

    //从尾部压入一个或多个元素
    arr.push()
    //从尾部弹出一个元素
    arr.pop()
    
  5. unshift() shift()从头部添加 或者弹出

    //从头部添加一个或者多个
    arr.unshift()
    //从头部弹出一个元素
    arr.shift()
    
  6. sort()

    arr.sort()
    
  7. 元素翻转reverse()

    arr.reverse()
    
  8. 拼接 concat() 原数组不变 返回一个新的数组

    arr.concat(另一个数组)
    
  9. 连接符 join() 不改变原数组 返回一个新的字符串

    arr.join(原数组的元素间的连接符)
    
  10. 多维数组

    avc = [[1,2],[3,4],[1,3]];
    avc[1][0]
    3
    

2.3、对象

若干个键值对

var 对象名 = {
    属性名:属性值,
    属性名:属性值,
    属性名:属性值,
    。。。。
}

JS中对象,{。。。}表示一个对象,键值对描述属性XXX:XXX,多个属性之间用逗号隔开,最后一个属性不加逗号!

JavaScript中的所有的键都是字符串,值是任意对象

  1. 对象赋值

    对象名.属性名 = 新值
    
  2. 使用一个不存在的对象属性,不会报错 会报undefined

  3. 动态的删减属性

    delete  对象名.属性名
    
  4. 动态的添加属性 直接给新的属性添加值即可

    对象名.新属性名 =
  5. 判断属性值是否在这个对象中

    '属性名'  in  对象名    还可以找到它父类的
    
  6. 判断一个属性是否是这个对象自身携带的

    对象名.hasOwnProperty('属性名')
    

2.4、流程控制

if 判断

if (判断条件1) { 
}else  if(判断条件2){
}else {}

循环

  • while 先判断 再进行循环体
  while (循环条件) {
 循环体
    }
  • for
 for (let i = 0; 判断条件; i++) {
      循环体
  }
  • for of

    for(var num of 需遍历的对象) {
        循环体
    }
    
  • do while 先执行循环体 在进行判断

do {
   循环体
}while (循环条件)
  • forEach

    • forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

      注意: forEach() 对于空数组是不会执行回调函数的。

//当前元素是必需的,其他的都是可选的
//thisValue: 传递给函数的值一般用 "this" 值。如果这个参数为空, "undefined" 会传递给 "this" 值
array.forEach(function(当前元素, 当前元素的索引值, 当前元素的数组对象), thisValue){
    执行的语序
})
  • for …in

    • for…in 语句用于对数组或者对象的属性进行循环操作。

      for … in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

//“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。
//变量为数组的索引   对象的属性名
for (变量 in 对象)
{
    在此执行代码
}

2.5、Map和Set

**Map:**键值对存储

var map = new Map([['tom',100],['jack',90],['zahngsan',16]]);
var value = map.get('tom');
map.set('admin', 1563);
console.log(map);

**Set:**无序不重复的集合

2.6、itreator

遍历数组

var arr = [3, 4, 5];
for(var num of arr) {
console.log(num);
}

遍历Map

var map = new Map([['tom', 156], ['jack', 45],['saf',12]]);
for (let x of map) {
    console.log(x);
}

遍历Set

var set = new Set([556,454,64]);
for (let x of set) {
	console.log(x);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值