2021-10-15

一、变量声明

        1、关键字

                var :全局作用域和函数作用域
                          会变量提升
  
                let:局部作用域
                        不会变量提升
                        不能重复声明
    
               const:值类型不能修改
                            声明必须赋值
                            一般大写

         2、解构

                数组
                    定义:把数组或对象解析成单独变量
                    1.基本格式
                        var arr=[1,2,3,4,6,5,8,9];
                        var [a,,b,...rest]=arr;
                    2.逗号代表下一位
                    3.  ...rest
                        剩余的所有(只能放在最后)
                    4.可以有默认值
                    5.交换变量
                        [a,b] = [b,a]
              对象

                var {name,age,say='love',...rest} = {say:'you',name:'m',age:18,leg:2,eye:2}
                对象解构没有顺序

     3、展开
                    ...arr     arr展开为单独变量
      4、字符串
            字符串模板
                `${js变量}`
                可以换行,可以加特殊符号
            遍历
                for of
            检测
                includes(sub)是否包含
                startsWith(sub)以开头
                startsEnd(sub)以结尾
            去空白
                trim()去掉两端空白
                trimLeft() 去掉左边空白
                trimRight()去掉右边空白
            重复
                repeat(n)字符串重复n次
            填充
                "22".padStart(4,'0')------结果是:0022
                .padEnd(次数,填充字符串)

        5、数组高阶方法
          forEach
                遍历
                arr.forEach(function(item,index,self){})
                item  当前遍历的元素
                index 当前元素的下标
                self 当前数组
         map
                映射
                   arr.map(function(item,index,self){
                    //返回一个
                    })
      filter
                过滤
                    arr.map(function(item,index,self){
                       //当返回的值为真,当前元素保留
                      //当返回的值为假,当前元素被过滤掉
                    })
        reduce
            累计
             arr.reduce(function(a,b){
               //a是上一次返回的结果
             })
        some
            有一个返回结果为true最终结果为true
        every
            每个返回结果为true最终结果为true
        find
                查找元素
                    查找符和条件的元素
        findIndex
                查找下标
                    查找符和条件的元素下标
        sort((a,b)=>a-b)
                排序
6、箭头函数
       1 箭头函数省略function
        2 =>左边参数
        3 箭头右边 函数体、返回值
        4 传参0个或者2个以上 参数加上括号
        5 如何函数体有多行需要加上{} 如果需要返回值return
        6 如果返回的是一个对象则用()包裹对象({})
        7 箭头函数this 指向上一层作用域域的this

7、函数
    默认参数
        function fn(a=10,b=20){}
    调用:扩展参
           fn(...arr)
    定义:不定参
          function (...args){   }

8、对象
    1.对象简写
        变量和值简写
        函数function简写
        var name = "mumu"
        var obj = {
                name,
                say(){alert(this.name)}
        }
    2. 对象动态属性
        {[nick+"msg"]:"你好呀"}

9、类

        1面向对象基本特点:封装,继承,多态,接口
        2单词:
                extends 继承
                constructor 构造函数
                super 超类
                static 静态

       3定义类类方法
            class Person{
                //构造函数
                constructor(name,age) {
                          //类中的this指向的类的实例
                    this.name=name;
                    this.age=age;
                }
                eat(){
                    alert('我喜欢吃大米饭')
                }
            } 

        4实例化类
            var p1=new Person()
        5类中的this
            Person类中的this指向、当前类的实例(p1)

        6继承
            class Teacher extends Person{
                        constructor(name,age,major) {
                            //super调用父元素的 constructor 方法,放在最前面
                            super(name,age);
                            //类的属性
                            this.major=major;
                }
                        //类的方法
                        teach(){
                            console.log(`我要去给学生上${this.major}课程`);
                        }
            }

10、模块module
            导入
                import {fn,name,Square} from "./api.js"
                import Square from "./api.js"
                import Sq from "./api.js"
           别名as,*代表所有
                import * as obj from "./api.js";
                api.name;api.fun()
          别名
                import Sq,{name,fn as fun} from "./api.js";
         导出
                export {name,fn,Square}
                导入多次
                export default Square
                默认导出,默认导出的只能有一个

11、Set
    定义:没有重复元素的集合(数组)
    初始化:
        var s1=new Set()
        var s2=new Set([1,2,3])
    添加
        s1.add()
    删除:
        s1.delete
    清除
       s1.clear()
   检测
        s1.has()
   长度
        s1.size
  转数组
        Array.from(s1)
        [...s1]

 ***数组去重
        arr1=[...new Set(arr)]
————————————————
版权声明:本文为CSDN博主「Scshan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Scshan/article/details/120789480

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值