第七周笔记

extends 通过 extends 实现类的继承。
        super()
        1.子类 constructor 方法中必须有 super ,
        且必须出现在 this 之前。
        2.调用父类构造函数,只能出现在子类的constructor构造函数。
        3.调用父类方法, super 作为对象,在普通方法中,指向父类的原型对象,
        子类需要访问父类中的静态值,需要在子类的静态方法中访问,在静态方法中,指向父类

class Father {
            test(){
                return 99;
            }
            static test1(){
                return 100;
            }
        }
        class Child2 extends Father {
            constructor(){
                super();
                // 调用父类普通方法
                console.log(super.test());
            }
            static test3(){
                // 调用父类静态方法
                return super.test1()+2;
            }
        }
        console.log(Child2.test3());
        let mytest = new Child2();

Object.setPrototypeOf() 静态方法可以将一个指定对象的原型
        (即内部的 [[Prototype]] 属性)设置为另一个对象或者 null。

module模式
        export导出
        import导入
        as不同模块导出接口名称命名重复, 使用 as 重新定义变量名。
        1.导出的函数声明与类声明必须要有名称(匿名名称)(export default 命令另外考虑)。 
        2.不仅能导出声明还能导出引用(例如函数)。
        3.export 命令可以出现在模块的任何位置,但必需处于模块顶层。
        4.import 命令会提升到整个模块的头部,首先执行
        5.export 命令导出的接口名称,须和模块内部的变量有一一对应关系。
        6.导入的变量名,须和导出的接口名称相同,即顺序可以不一致。
        7.import只读属性:不允许在加载模块的脚本里面,改写接口的引用指向,即可以改写 import 变量类型为对象的属性值,
        不能改写 import 变量类型为基本类型的值。
        8.import单例模式:多次重复执行同一句 import 语句,那么只会执行一次,而不会执行多次。import 同一模块,
        声明不同接口引用,会声明对应变量,但只执行一次 import 。
        9.静态执行特性:import 是静态执行,所以不能使用表达式和变量。

js中ajax异步
        1.创建XMLHttpRequest 对象
        http和https
        1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
        2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
        3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
        4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
        let http = new XMLHttpRequest();
        请求方式
        请求方式分为:get、post、put、delete
        get方式:偏向获取数据;
        post方式: 偏向向后端提交数据;
        put方式:偏向更新(全部更新);
        delete方式:偏向删除信息;
        2.请求  创建对象.open(请求方式,路径,异步)
        创建对象.send()
        http.open("get","http://jsonplaceholder.typicode.com/posts?id=99");
        http.send();
        http.open("post","http://jsonplaceholder.typicode.com/posts");
        传值方式为JSON
        http.setRequestHeader("Content-Type","application/json")
        http.send(JSON.stringify({
             "userId":10,
             "title":"hello",
             "body":"你好"
        }));
        传值方式为表单
        http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        http.send("userId=10&title=hello&body=你好");
        responseText 属性
        如果来自服务器的响应并非 XML,请使用 responseText 属性。
        http.onreadystatechange=function(){
            if (http.readyState==4 && http.status==201){
                var data = JSON.parse(http.responseText);
                console.log(data);
            }
        }
        console.log(http);

1.在一个文件或模块中,export、import 可以有多个,export default 仅有一个。
        2.export default 中的 default 是对应的导出接口变量。
        3.通过 export 方式导出,在导入时要加{ },export default 则不需要。
        4.export default 向外暴露的成员,可以使用任意变量来接收。
        
        第一种
        import {userName,age} from "./day28.js";
        第二种
        import {userName as aaa,age as bbb} from "./day28.js";
        第三种
        import aaa from "./day28.js";
        console.log(aaa)
        第四种
        import * as aaa from "./day28.js";
        console.log(aaa);

Generator作用
        Generator 函数,可以通过 yield 关键字,
        把函数的执行流挂起,为改变执行流程提供了可能
        Generator 有两个区分于普通函数的部分:
        1.一是在 function 后面,函数名之前有个 * ;
        2.函数内部有 yield 表达式。
        3.其中 * 用来表示函数为 Generator 函数,yield 用来定义函数内部的状态。
        done
        此时函数还没有执行完, 返回对象的 done 属性值是 false,下面还有yield。
        next 方法
        一般情况下,next 方法不传入参数的时候,yield 表达式的返回值是 undefined 。
        当 next 传入参数的时候,该参数会作为上一步yield的返回值。
        
        yield 后面跟的值是value值,next(参数)==yield返回值需要用变量接收
        function* func(){
            console.log("one");
            yield;
            console.log("two");
            yield {name:"zs"}; 
            console.log("three");
            return '3';
        }
        function* func(){
            console.log("one");
            var a = yield 99;
            console.log("two"+a);
            return "foo";
            yield;
            console.log("three");
            return '3';
        }
        let f = func();
        console.log(f.next());
        console.log(f.next(10));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值