JavaScript进阶4-学习笔记

JavaScript 进阶指南 JavaScript 是一种高级解释型编程语言,用于使网页更具交互性。它是一种非常强大的客户端脚本语言,使你的网页更加生动和互动。它可以帮助你在网页上实现复杂而美观的设计。如果你希望你的网页看起来更生动,并且不仅仅是静态地展示内容,那么 JavaScript 是必不可少的。 阅读详情

JavaScript进阶4-学习笔记

在这里插入图片描述

前端:
根据Ui写页面,使用vuecli+vue---测试功能---需要数据(json,array,字符串)----根据文档定义----
根据文档可以造数据---因为后端可能没有提供---如何造数据?----模拟服务node----
什么是nodejs?-----是一个运行js的环境---如何安装node环境---下载nodejs并安装
我是前端为什么要学后端Node?----1.容易上手,因为它是js, 2.模拟服务node 3.加薪
---已经有接口

如何调用?---发送ajax----调接口地址----若调成功---拿到返回的数据---渲染页面

如何启动node服务?----右击打开命令行----安装依赖npm install-----根据package.json中的依赖安装----
将dependencies依赖包下载并放到node_modules目录----启动服务命令:node express-run.js(express是node框架)----可以看到服务启动,端口3000.---不能关闭服务
关闭node服务----ctrl+c

如何发送请求?----使用的是浏览器原生对象XMLHttpRequest(xhr)---知道接口地址---根据文档找---
-----接口调用方式-----get post delete put----使用xmlhttprequest请求数据----指定接口地址和方法---
发送请求异步----拿到数据---检查数据是否拿到---把数据渲染---数据格式不符合前端----

异步请求?-----点外卖----玩手机----外卖到了电话通知
同步请求?-----点外卖----只能等待外卖,不能做任何事----外卖到了---才能做其它事情

如何检查请求接口状态?-----在浏览器控制台----network---截取请求header信息

防止多次触发请求?----前端必会----
1.点击按钮---发送请求---禁用按钮---请求完毕---解禁按钮
2.可以使用防抖节流优化
防抖-----在点击请求后n秒后再发送,若中间再次点击则重新计算n秒
节流-----在n秒内只发送一次,不重新计算

发送ajax使用什么协议?-----http/https(超文本传输协议)-----前后请求完毕不保存任何数据
特点:
无连接----每次发送请求即断开连接
无状态----没有记忆
媒体独立----浏览器发送数据可指定内容类型

请求头:
general请求行----地址,方法,请求状态
responseHeader响应头----返回服务端的参数
requestHeader请求头----发送请求时带的头信息
请求体-----包括参数

问题:
从触发请求到页面渲染成功这个时间比较长,怎么判断是前端的锅还是后台的锅,或者是网络的锅。。。
在network中查看请求接口的时间, 若时间较长,需后端优化

前端的问题慢: 加载慢,渲染慢

后端:
根据接口文档写接口, 可以任何语言

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button onclick="sendData()">发送ajax</button>
    <div id="content"></div>
    <script>
        function sendData(){
            var xmlhttp = new XMLHttpRequest();
            //open---指定一个接口(url, method)
            xmlhttp.open("get", "http://localhost:3000/info?name=jack"); //异步
            xmlhttp.send(); //发送
            xmlhttp.onreadystatechange = function() { //接收数据
                //4--node服务响应完成   200---成功
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    console.log(xmlhttp.responseText) //打印
                    //把拿到的数据展示出来 写入dom
                    content.innerHTML = xmlhttp.responseText; //conten 简写
                }
            }

        }
    </script>
</body>
</html>

递归

//什么是递归?-----方法自己调用自己----很容易犯错误?-----没有终止条件
//目录结构----修改所有目录名----递归

//死循环
function f1(){
    console.log("f1.......")
    f1();
}
f1();
//改进----加入终止条件
var i=0;
function f1(){
    i++;
    console.log("f1.......")
    if (i<5) {
        f1();
    }
}
f1();


//用递归实现一个简单求和函数, 5-4-3-2-1  有限
var sum = 0;
for (var i=0; i<=5; i++) {
    sum +=i;
}
console.log(sum)

//递归---方法自己调用自己---需定义函数----很重要思想
//return终止函数---把结果返回
//为什么要返回1? ------5-4-3-2-1-----因为自己调自己最后一次n==1
//执行步骤:
// 1.传入5----if不成立---5+---getSum(5-1)自己调自己
// 2.传入4----if不成立---4+---getSum(4-1)自己调自己
// 3.传入3----if不成立---3+---getSum(3-1)自己调自己
// 4.传入2----if不成立---2+---getSum(2-1)自己调自己
// 5.传入1----if成立---返回1---终止
function getSum(n) {
    if (n === 1) {   //终止条件
        return 1;    //终止调用
    }
    return n+getSum(n-1);  //自己调自己
}
var sum = getSum(5);
console.log(sum)
JavaScript 学习笔记:基础与进阶 多写代码:通过不断实践来巩固语法和概念。理解基础:JS 的变量作用域、闭包、原型链等概念非常重要。持续学习新特性:JS 生态系统在快速发展,跟进新的ES标准和技术栈更新。这篇JavaScript学习笔记涵盖了从基础到进阶的核心概念,并且结合了实际应用的场景,希望能为你的学习之路提供帮助。 阅读详情

相关推荐

挑战第七天:Llamaindex RAG 实践

安装python 依赖包,并安装 Llamaindex和相关包以及Sentence Transformer 模型。进入开发机后,创建新的conda环境,命名为。镜像,然后在资源配置中,使用。的选项,然后立即创建开发机器。后,点击 选择镜像 使用。然后安装相关基础依赖。

weixin_53579823的博客 728

JavaScript 学习笔记(JS进阶 Day4)

因此当我们只是想改变 this 指向,并且不想调用这个函数的时候,可以使用 bind,比如改变定时器内部的this指向.在开发中【使用箭头函数前需要考虑函数中 this 的值】,事件回调函数使用箭头函数时,this 为全局的 window。箭头函数会默认帮我们绑定外层 this 的值,所以在箭头函数中 this 的值和外层的 this 是一样的。同样由于箭头函数 this 的原因,基于原型的面向对象也不推荐采用箭头函数。箭头函数中的 this 与普通函数完全不同,也不受调用方式的影响,事实上。

🧑‍🎓 博士研究生在读 🔬 分享生物信息学、神经生物学方面的知识 💬 合作请在后台留言 1451

[Stanford CS217]CUDA中矩阵乘法GEMM优化的最关键点:向量内积和向量外积分别取行和取列

对于矩阵C中的每一个tile,矩阵A与矩阵B中的tile只需要读取一次,这样就可以达到 O(N) 的计算强度。理想情况下性能应当受限于算术吞吐量,确切来说对于一个大型方阵,即 M=N=K ,矩阵乘法的数学操作复杂度为 O(N3) ,而数据量为 O(N2) ,同时计算强度为 N (这里的计算强度可以被理解为同一个数据被重复利用的次数)。GEMM就是指计算 C=A∗B+C ,其中 A 、B和C都是矩阵,A是 M×K 的矩阵,B是 K×N 的矩阵, C是 M×N 的矩阵。这就是向量内积和向量外积的最大区别。

weixin_55035144的博客 1427

JavaScript进阶:js的一些学习笔记-4

前端:js学习笔记

坚持不懈的大白的博客 1082

CoMP 协同多点传输技术

CoMP CoMP是什么 解决什么问题 有什么缺点 CoMP(Coordinated Multiple Points)协同多点传输,通信术语,LTE-A的重要技术之一。 CoMP传输是指地理位置上分离的多个传输点,协同参与为一个终端的数据(PDSCH)传输或者联合接收一个终端发送的数据(PUSCH),参与协作的多个传输点通常指不同小区的基站。CoMP技术将边缘用户置于几个基站的同频率上,几...

ilean_J的博客 2万+

【ChangeCLIP】Remote sensing change detection with multimodal vision-language representation learning

ChangeCLIP论文及代码使用详解。持续更新变化检测最新论文,欢迎订阅本专栏。

向上生长的程序媛的博客 1338

2024年JavaScript进阶:js的一些学习笔记-4(1),【面试必会

*JavaScript:**JavaScript基础,JavaScript数据类型,算术运算,强制转换,赋值运算,关系运算,逻辑运算,三元运算,分支循环,switch,while,do-while,for,break,continue,数组,数组方法,二维数组,字符串。**CSS:**CSS代码语法,CSS 放置位置,CSS的继承,选择器的种类/优先级,背景样式,字体样式,文本属性,基本样式,样式重置,盒模型样式,浮动float,定位position,浏览器默认样式。obj} 展开运算符。

2401_84446513的博客 276

【推荐100个unity插件之7】使用BehaviorDesigner插件制作BOSS的AI行为树

Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化编辑器。Behavior Designer提供了强大的AP1可以让你轻松的创建tasks(任务),配合uScript和PlayMaker这样的插件,可以不费吹灰之力就能够创建出强大的Al系统,而无需写行代码。(不懂PlayMaker的,我后面在单独出文章介绍一下,可以期待一下)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 6572

NodeJS学习笔记 进阶 (10)Nodejs 进阶:log4js入门实例(ok))

个人总结:读完这篇文章讲解了log4js的使用,具体更多可以参考npmjs上看,读完这篇需要15分钟。 摘选自网络 对于线上项目用来说,日志是非常重要的一环。log4js是使用得比较多的一个日志组件,经常跟Express一起配合使用。本文从入门实例开始,讲解log4js的使用,以及如何跟Express进行整合。 入门例子 输出日志如下,包括日志打印时间、日志级别、日志...

dglf54292的博客 118

ROSTEA软件下载及情感分析详细操作教程(附网盘链接)

原ROST虚拟团队出品的ROST系列文本内容挖掘分析平台,是辅助人文社会科学研究的免费计算平台。该软件可以实现文本预处理、分字、分词、词性识别、特殊名词抽取、词频统计、英文词频统计、情感计算、分类算法、聚类算法等一系列文本挖掘,是人文社科研究和论文写作的一把利器。该软件用户量超过一万人,遍布海内外100多所大学,包括剑桥大学、日本北海道大学、北京大学、清华大学、香港城市大学、澳门大学等众多高校。关于ROSTCM6的安装介绍可以参考之前的文章ROSTCM6软件下载及语义网络分析详细操作教程ROST EA。

m0_64336780的博客 1万+

工业质检封神!YOLOv8实战金属表面缺陷检测,自建数据集mAP突破95%

本文详细介绍了基于YOLOv8的金属表面缺陷检测实战方案。针对工业质检中的光照不均、纹理复杂、小样本等挑战,作者构建了12000张图像的数据集,提出针对性数据增强策略和两阶段训练方法。通过优化损失函数、调整超参数等技术手段,最终在测试集上达到95.1%的mAP@0.5,检测速度32FPS。相比传统方法,该方案在精度和鲁棒性上均有显著提升,为工业视觉质检提供了可复现的落地解决方案。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 428

amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一、总结 1、注释规范总原则:  As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性、可读性。 As long as necessary(如有必要,尽量详尽):合理的注释、空行排版等,可以让代码更易阅读、更具美感。 2、变量命名规则(和之前的C++和Java一样):...

weixin_33939380的博客 181

MIKE水动力笔记2_水动力基础理论知识

本文所讲内容是水动力基础理论知识,所参考的主要书籍是《水动力学和水质》(第二版,季振刚著,海洋出版社)。

晏长街的博客 1万+

学习笔记(4):JavaScript从入门到进阶视频课程-数组常用方法

本视频教程以通俗易懂的方式全面讲解JavaScript核心技术,学完该培训视频即可进行JavaScript程序设计。 课程内容包括: 1.基础入门与核心语法 2.JavaScript数组、循环、函数 3.DOM操作 4.面向对象、JSON 5.常用内置对象、表单校验 6.客户端存储Cookie和WebStorage 教学全程以代码案例的形式讲解,通俗易懂!!!...

shenjingyouhaozhuan的博客 203

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JavaScript 学习笔记(JS进阶 Day1)

在开发中【使用箭头函数前需要考虑函数中 this 的值】,事件回调函数使用箭头函数时,this 为全局的 window,因此。filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。赋值运算符 = 左侧的 [] 用于批量声明变量,右侧数组的单元值将被赋值给左侧的变量。赋值运算符 = 左侧的 {} 用于批量声明变量,右侧对象的属性值将被赋值给左侧的变量。返回值:返回数组,包含了符合条件的所有元素。的最外层就是所谓的全局作用域,在此声明的变量在函数内部也可以被访问。

🧑‍🎓 博士研究生在读 🔬 分享生物信息学、神经生物学方面的知识 💬 合作请在后台留言 1335

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JavaScript利器分享之Proj4js

项目开发中,经常会有小伙伴们被火星坐标、CGCS2000、WGS84等诸多坐标系搞得晕头转向。当我们碰上不同坐标系叠加这样的需求时,我们的眼神可能是这似的 今天给大家分享一个JS利器——Proj4js。官方介绍:Proj4js is a JavaScript li...

baidu_23263735的博客 1430

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

JavaScript学习笔记

JavaScript学习笔记。

x18395499277的博客 1979

JavaScript 学习笔记(WEB APIs Day4)

本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。看在线演示,找到符合自己需求的demo https://www.swiper.com.cn/demo/index.html。查看APi文档,去配置自己的插件 https://www.swiper.com.cn/api/index.html。查看基本使用流程 https://www.swiper.com.cn/usage/index.html。即创造出一个新的网页元素,再添加到网页内,一般先创建节点,然后插入节点。

🧑‍🎓 博士研究生在读 🔬 分享生物信息学、神经生物学方面的知识 💬 合作请在后台留言 1146

JS学习笔记(JavaScript基础学习必备)

讲解JavaScript 基础语法、关键特性、JSON、WebAPI 等知识点。涉及网页窗口交互的方法以及通过 DOM 进行网页元素的相关操作。 文章目录一、JavaScript 基础1.什么是 JavaScript2.JavaScript 范例3.变量4.数字与运算符5.数组概述6.操作数组7.Null 和 Undefined8.字符串9.转换成字符串10.转换成数值类型11.转换成布尔类型二 、JavaScript 关键特性1.条件2.循环3.函数(参数,函数返回值)4.创建函数5.挑战:制作直角三角形

weixin_44009656的博客 5341

express 与 log4js 整合

参考资料 https://github.com/log4js-node/log4js-node node.js express使用log4js记录日志 问题来源 最近在学习express,其中常用的一个模块就是对日志的管理,日志的重要性我就不用多说了,书中介绍的是用log4js这个第三方插件,我这里只是作为学习笔记记录 安装 npm install -D log4js 案例 定义日志的引用 ...

黄彪博客 4067

JavaScript 学习笔记(JS进阶 Day2)

检测数组所有元素是否都符合指定条件,如果所有元素都通过检测返回true,否则返回fallse(重点)查找元素,返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回undefined(重点)检测数组中的元素是否满足指定条件如果数组中有元素满足条件返回true,否则返回false。构造函数内部的 return 返回的值无效,所以不要写return。如果没有起始值, 则累计值以数组的第一个数组元素作为起始值开始累计。如果有起始值,则以起始值为准开始累计, 累计值 = 起始值。

🧑‍🎓 博士研究生在读 🔬 分享生物信息学、神经生物学方面的知识 💬 合作请在后台留言 1194

vue项目打包与配置-学习笔记

文章目录vue项目打包与配置-学习笔记前端打包打包的代码如何运行打包指定不同的环境变量(开发,测试)打包手动配置文件打包压缩,大文件处理gzip进一步压缩打包app打包部署模式 vue项目打包与配置-学习笔记 前端打包 npm run build – package.json -- vue-cli-service build – 发布到线上的代码,不便于调试 打包发布到测试环境 –增加打包命令 开发(后端地址) 测试(后端地址) 线上(后端地址) –npm run build:dev --开发

小猴子的博客 6941
上一篇: JavaScript进阶3-学习笔记
下一篇: JavaScript进阶5-学习笔记
monkeyhlj
博客等级 码龄9年 1万+粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值