我的第一个javascript

数据类型

字符串

  1. 正常字符我们使用 单引号

  2. 注意转义字符

    \'
    \n
    \t
    \u4e2d \u### unicode
    \x41   Ascll字符
    
  3. 多行字符串编写

    var msg = `
    		hello
    		world
    `
    console.log(msg)
    
  4. 模板字符串

    let name = "caster";
    let age = 3;
    let msg = `你好,${name}`;
    console.log(msg);
    
  5. 字符串长度

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

    var student = "student";
    student[0]=1
    console.log(student)
    
  7. 大小写转换(方法)

    console.log(student.toUpperCase())
    console.log(student.toLowerCase())
    
  8. 索引

    console.log(student.indexOf('u'))
    
  9. 截取

    console.log(student.substring(1,3))
    

数组

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

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

    arr.length
    

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

  2. indenOf,通过元素获得下标索引

    var arr = [1,2,3,'1','2','3']
    undefined
    arr.indexOf(1)
    0
    arr.indexOf('1')
    3
    

    字符串的‘1’和数字1不一样

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

    arr.slice(3)
    
  4. push,pop

    arr.push('a','b')
    8
    arr.pop()
    "b"
    
  5. unshift,shift

    arr.unshift("a","b","c")
    10
    arr
    (10) ["a", "b", "c", 1, 2, 3, "1", "2", "3", "a"]
    arr.shift()
    "a"
    
  6. 排序 sort

    arr=['b','c','a']
    (3) ["b", "c", "a"]
    arr.sort()
    (3) ["a", "b", "c"]
    
  7. 元素反转

    arr.reverse()
    (3) ["c", "b", "a"]
    
  8. concat()

    arr.concat([1,2,3])
    (6) ["c", "b", "a", 1, 2, 3]
    

    注意:并没有修改数组,只是会返回一个新的数组

  9. 接符join

    打印拼接数组,使用特定的字符串连接

    arr.join('-')
    "c-b-a"
    
  10. 多维数组

    arr = [[1,2],[3,4],[5,6]]
    arr[1,1]
    (2) [3, 4]
    

对象

若干个键值对

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

js中对象,{...}表示一个对象,键值对描述属性xxx:xxx,多个属性之间使用,隔开,最后一个属性不加逗号

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

1. 对象赋值

2. 使用一个不存在的对象属性,不会报错!undefined

3. 动态的删减属性,通过delete删除对象的属性

   ```
   Delete person.name
   true
   person
   ```

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

   ```
   person.name = "caster"
    "caster"
    person
   
   ```

5. 判断属性值是否在这个对象中! xx in xx

   ```
   'sex' in person
   true
   'aa' in person
   false
    //继承
    'tostring' in person
    true
   ```

6. 判断一个属性是否是这个对象自身拥有的hasOwnProperty()

   ```
   person.hasOwnProperty('toString')
   false
   ```

流程控制

  1. if判断

  2. while循环 do while

  3. foreach 5.1

    java:forEach() 方法用于遍历动态数组中每一个元素并执行特定操作。

    arraylist.forEach(Consumer<E> action)
    //action - 对每个元素执行的操作
    

    js:forEach()` 方法对每一个元素执行一次给定的函数。

    array1.forEach(element => console.log(element));
    
    var age = [1,2,3];
     age.forEach(function (value){
         console.log(value);
      })
    
  4. for

    // java for(Type str:el){}
    var age = [1,2,3];
        for (var num in age) {
            if (age.hasOwnProperty(num)){
                console.log("存在"+age[num]);
            }
        }
    

    num为索引!

    Map和Set

    ES6新特性

    Map:

    var map = new Map([["Tom",100],["Jarry",90]]);
     // 通过key获取value
      var name = map.get("Tom");
      // 新增或修改
      map.set("admin",666);
      console.log(map);
      // 删除
      map.delete("Tom");
    

​ Set:无序不重复的集合

var set = new Set([3,1,1,2,1]);
//可以去重
  console.log(set);
  set.add(4);
  set.delete(1);
  // 是否包含某个元素
  console.log(set.has(3));
	VM352:1 true

iterator

ES6

//通过for of 实现  /for in 是下标
var arr= [3,4,5];
 for (var x of arr){
     console.log(x)
 }

遍历map

var map = new Map([["Tom",100],["Jack",80]]);
for (let x of map){
    console.log(x);
}

遍历set

var set = new Set([5,6,7]);
for (let x of set){
    console.log(x);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值