模块的特性

本文介绍了JavaScript中模块严格模式的使用,详细讲解了export和import的功能,包括导出函数、类和默认导出,以及单例模式和静态执行特性。同时涵盖了AJAX请求的异步数据获取,以及HTTP和HTTPS的区别和XMLHttpRequest对象的使用。
摘要由CSDN通过智能技术生成

模块
严格模式use strict ;
export导出

<script type="module">
   input{
      muName,myAge
   }from".day1.js"  //如果import导入必须用module模式
</script>

特性

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

as不同模块导出接口名称命名重复, 使用 as 重新定义变量名

export default

  1. 在一个文件或模块中,export、import 可以有多个,export default 仅有一个
  2. export default 中的 default 是对应的导出接口变量
  3. 通过 export 方式导出,在导入时要加{ },export default 则不需要
  4. export default 向外暴露的成员,可以使用任意变量来接收
<script>
    export { myfunc } from "./day1.js"; 
	console.log(myfunc);
</script>

共享方式

  1. export{userName , age}
  2. export{userName as names}
  3. export default userName;

接收方式

  1. import {userName,age} from “./day1.js”
  2. import {userName as aaa} from “./day1.js”
  3. import abc from “./day1.js”
  4. import * as abc from “./day1.js”

js中 ajax调取接口数据 异步

http与https区别

  1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
<script>
 //创建XMLHttpRequest()对象
   let http = new XMLHttpRequest();
</script>

请求 创建的对象.open(“请求方式”,“url”)
请求方式
get方式:偏向获取数据;
post方式: 偏向向后端提交数据;
put方式:偏向更新(全部更新);
delete方式:偏向删除信息;

<script>
   //传值:
		// 1)表单格式
		http.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
		http.send(JSON.stringify(`userId=10&title=hello&body=你好`));
		// 2)JSON格式
		http.setRequestHeader("Content-Type","application/json")
		http.send(JSON.stringify({
		 	"userId":10,
		 	"title":"hello",
		 	"body":"你好"
		 }))
</script>

响应(获取接口返回值)http.responseText()获得字符串形式的响应数据
onreadystatechange 监听事件

readyState值
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值