首页 > 其他分享 >关于HarmonyOS的学习

关于HarmonyOS的学习

时间:2024-09-25 19:52:30浏览次数:3  
标签:console 跨域 res 学习 HarmonyOS 关于 jsonp http log

day36

一、可选链和空集合并符

1.?

    // ? 作用:1、三目运算符 2、可选链
    const obj = {
        id: 1,
        // info: {
        //     name: '张',
        //     age: 18
        // }
    }
    console.log(obj.id)
    console.log(obj.info?.name)

2.?? 空集合并符

    amount 是别人传递过来的,如果别人没有传递过来一个具体的值,那么count就会变成undefined
    let amount = 20
    let amount 
    let count = amount ?? 1
    console.log(count)

3.+加号作用

    :1、加法运算  2、字符串拼接  3、数据类型转换
    let num = Number(prompt('请输入一个数字?'))
    let num = +prompt('请输入一个数字?')
    console.log(num)
    console.log(+'10')
    console.log(-'10')
    console.log('10')

二、同源策略

        + 浏览器自身为了安全着想,做的访问的限定的规则,不允许你向别人的服务器发送请求,只能给自己发送
        + 条件
          => 不同源就属于为了同源策略
        + 不同源
          => 协议
          => 域名
          => 端口号
          => 只有其中有一个不同,那么就说明你不同源

规则本身是好的,但是随着发展其实已经不能满足一些需求了,做的限定太多了,例如,百度收购一些小的公司,这些小的公司被收购属于这个大的公司,那么各个公司里面的资源应该可以共享,但是有同源策略的存在,导致不能共享。为了解决问题,有人提出了跨域方案,跨域就是各个服务器间可以相互访问,不受同源策略的限定。

三、jsonp(前端解决跨域的方案,原理是利于了script标记上面的src属性不受同源策略的影响)

<img src="https://img0.baidu.com/it/u=3568352712,1159928261&fm=253&fmt=auto&app=138&f=PNG?w=500&h=753">
<!-- 框架集标记,可以在一个网页里面嵌套另一个网页 -->
<iframe src="https://www.baidu.com" width="700" height="500"></iframe>
<!-- <script src="./js/ajax.js"></script> -->
<script>
    // live server插件服务器地址:http://127.0.0.1:5500/ 
    // 服务器请求地址:http://localhost:2402/jsonp/test
    // pAjax({url: 'http://localhost:2402/jsonp/test'})
    // .then(res=>{
    //     console.log(res)
    // })
<script>
    // live server插件服务器地址:http://127.0.0.1:5500/ 
    // 服务器请求地址:http://localhost:2402/jsonp/test
    // pAjax({url: 'http://localhost:2402/jsonp/test'})
    // .then(res=>{
    //     console.log(res)
    // })
​
    // jsonp前端解决跨域的方案,原理是利于了script标记上面的src属性不受同源策略的影响
    // 注意点:jsonp只能发送get请求
    function fn2(res){
        console.log(res)
    }
</script>
<script src="http://localhost:2402/jsonp/test?callback=fn2"></script>

四、cors

CORS ( Cross-Origin Resource Share),跨域资源共享,有一系列 HTTP 响应头组成,这些请求头决定浏览器是否阻止前端 js 代码跨域获取资源。

浏览器的同源安全策略默认会组织网页“跨域”获取资源。但是如果接口服务器配置了 CORS 相关的 HTTP 响应头,就可以解除浏览器端跨域访问限制。

注意事项:

主要在服务器端设置HTTP响应头;

CORS 使用步骤

安装:

npm install cors

导入:

const cors = require('cors')

使用:

app.use(cors())

五、事件轮询

=> js单线程语言、出现异步代码机制 ​

=> 调用栈,先进后出 ​ => web api,专门用来分配异步任务的 ​

=> 队列,先进先出(微任务、宏任务) ​

=> 执行一次宏任务,要清空微任务,所谓的轮询其实轮流访问宏任务和微任务 ​

=> 遇到同步代码直接会执行调,如果是异步任务会交给web api

标签:console,跨域,res,学习,HarmonyOS,关于,jsonp,http,log
From: https://blog.csdn.net/m0_72035166/article/details/142485927

相关文章

  • Java中集合泛型的学习
    集合遍历目录集合遍历泛型的基本概念泛型的好处泛型的使用1.泛型类2.泛型接口3.泛型方法Java集合框架中的泛型泛型通配符Java集合泛型是JavaSE1.5(Java5)中引入的一个重要特性,它允许在定义类、接口和方法时指定一个或多个类型参数。这些类型参数在实例化或调用时会被具体的......
  • prometheus学习笔记之集群内服务发现环境准备
    一、环境介绍主要演示prometheus在k8s集群中如何通过服务自动去发现k8s集群自有服务及其他服务发现场景,后续会演示集群外部署prometheus自动发现k8s服务并获取数据创建监控使用的namespaceskubectlcreatensmonitoring配置docker可以下载镜像[root@k8s-masterdeploy]#cat/etc/......
  • prometheus学习笔记之PromQL
    一、PromQL语句简介官方文档:https://prometheus.io/docs/prometheus/latest/querying/basics/Prometheus提供⼀个函数式的表达式语⾔PromQL(PrometheusQueryLanguage),可以使⽤户实时地查找和聚合时间序列数据,表达式计算结果可以在图表中展示,也可以在Prometheus表达式浏览器中以......
  • prometheus学习笔记之Grafana安装与配置
    一、Grafana简介grafana是⼀个可视化组件,⽤于接收客户端浏览器的请求并连接到prometheus查询数据,最后经过渲染并在浏览器进⾏体系化显示,需要注意的是,grafana查询数据类似于zabbix⼀样需要⾃定义模板,模板可以⼿动制作也可以导⼊已有模板。Grafana的基础架构主要包括以下几个核心组......
  • prometheus学习笔记之简介与安装
    一、prometheus简介1.简介Prometheus是基于go语⾔开发的⼀套开源的监控、报警和时间序列数据库的组合,是由SoundCloud公司开发的开源监控系统,Prometheus于2016年加⼊CNCF(CloudNativeComputingFoundation,云原⽣计算基⾦会),2018年8⽉9⽇prometheus成为CNCF继kubernetes之后......
  • 学习docker后的个人理解
    一、什么是dockerDocker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,它将软件组件包装成一个完整的标准化单元,其中包含所有要运行的内容......
  • 量化交易学习日记8-大单净额进阶(张江高科为例)
    说明大单净额是反应主力的动向,这没错,可是,成交额多少算大单?之前写的大单净额功能我自己测试了一下,拿庄股张江高科建仓的阶段举个例子:可以看到,不管是大单净额(门槛是25万)还是全资金流向,流出都是惊人的,可是,建仓阶段不应该是主力进入的过程吗,我对该股进行过长期跟踪,这是一......
  • 关于 .NET Core WebAPI 中构建一个百万级高性能、低延迟的大型聊天系统
    在.NETCoreWebAPI中构建一个百万级高性能、低延迟的大型聊天系统,需要结合多种技术和架构设计。以下是实现此类系统所需的关键技术、架构和优化策略:1.高效的通信协议和技术SignalR:如果你想要在.NETCore中实现一个基于WebSocket的实时通信系统,SignalR是一个非常好的......
  • golang学习笔记13-函数(二):init函数,匿名函数,闭包,defer
    注:本人已有C,C++,Python基础,只写本人认为的重点。这个知识点基本属于go的特性,比较重要,需要认真分析。一、init函数每个文件都可以定义init函数,它会在main函数执行前被调用,无论它的定义位置是在main后还是前。而全局变量的优先级又高于init,所以优先级是这样的:全局变量>init......
  • Redis学习
    系列文章目录第一章基础知识、数据类型学习第二章万年历项目第三章代码逻辑训练习题第四章方法、数组学习第五章图书管理系统项目第六章面向对象编程:封装、继承、多态学习第七章封装继承多态习题第八章常用类、包装类、异常处理机制学习第九章集合学习第......