JavaScript——常用库

文章目录

  • 绪论
  • jQuery
    • 选择器
    • 事件
    • 修改 css
    • 查找
    • ajax
  • setTimeout与setInterval
    • setTimeout
    • setInterval
  • requestAnimationFrame
  • Map与Set
  • localStorage
  • JSON
  • Date
  • WebSocket
  • window
  • canvas
  • 结语

绪论

『时间是伟大的作家,总会写下完美的结局。』—— 「秋之回忆」

jQuery

这个是优化版本的 js 写法,原生 js 比如下面这样子

let main = function () {let div = document.querySelector('div');console.log(div);
}

在这里插入图片描述

  • 可以选择引用这个包来使用,把下面这句话加到 html 的 head 标签里面就行
<script src="https://cdn.acwing.com/static/jquery/js/jquery-3.3.1.min.js"></script>
  • 或者去官网安装即可:jquery
  • 对比
let main = function () {let div = document.querySelector('div');console.log(div);//上面是 js 原生写法,下面是 jquery 写法let $div = $(`div`);console.log($div);
}

选择器

如下的方式,选择 div , class , id

let $div = $(`div`);
let $div = $(`.mydiv`);
let $div = $(`#mydiv`);
  • 把一个标签里面的子标签选择出来
let $div = $(`#mydiv>p`);

事件

  • 绑定一个鼠标点击事件
let $div = $(`div`);$(`div`).on('click', function (e) {console.log("click div");});
  • 简写
let $div = $(`div`);$(`div`).click(function () {console.log("click div");});
  • 阻止事件向上传递,阻止事件的默认行为
return false;
  • 隐藏和显示,有很多相关的特效,之后写网站的时候可以看需要什么特效,直接拿过来用就好了
let main = function () {let $div = $(`div`);let $btn_hide = $(`#hide-btn`);let $btn_show = $(`#show-btn`);$btn_hide.click(function () {$div.hide(3000);//里面的参数表示隐藏需要花多长时间,单位是毫秒//感觉效果还是非常炫酷的});$btn_show.click(function () {$div.show();});
}

修改 css

可以直接在 js 文件里面修改标签的 css 样式

$('div').css({width: "200px",height: "200px","background-color": "orange",
});
  • js 可以操纵类(class),样式(css),标签(id),html,text

查找

$(selector).find(filter)

ajax

用来和后端通信的

$.ajax({url: url,type: "GET",data: {},dataType: "json",success: function (resp) {},
});

setTimeout与setInterval

setTimeout

let timeout_id = setTimeout(() => {console.log("Hello World!")
}, 2000);  // 2秒后在控制台输出"Hello World"

setInterval

let interval_id = setInterval(() => {console.log("Hello World!")
}, 2000);  // 每隔2秒,输出一次"Hello World"

requestAnimationFrame

实现动画的效果,一秒展示图片超过 24 张在人脑就会形成动画的效果,目前大部分浏览器一秒钟刷新 60 次

具体的代码里面,有一个递归调用的思路

let step = (timestamp) => {  // 每帧将div的宽度增加1像素let div = document.querySelector('div');div.style.width = div.clientWidth + 1 + 'px';requestAnimationFrame(step);
};requestAnimationFrame(step);

很多开发都是黑盒,就是开发者调用封装好的函数来进行开发

刚刚去尝试了一下,把一个项目仓库设置为私有的,然后通过邀请他人使得被邀请的人具有访问权限,非常方便

Map与Set

一些简单的增删改查

set(key, value)//插入键值对

localStorage

存在用户的浏览器里面

setItem(key, value):插入
getItem(key):查找
removeItem(key):删除
clear():清空

JSON

可以实现对象和字符串之间的转换

JSON.parse():将字符串解析成对象
JSON.stringify():将对象转化为字符串

Date

就是和时间相关的一些函数调用,需要的时候去查就好了,可以查年份,月份,日期,周几,小时,分钟,秒,甚至毫秒,下面是一个例子

Date.now():返回现在时刻。
Date.parse("2022-04-15T15:30:00.000+08:00"):返回北京时间202241515:30:00的时刻。

WebSocket

客户端和服务端建立全双工通信

window

对页面进行一些操作

window.open("https://www.acwing.com")在新标签栏中打开页面。
location.reload()刷新页面。
location.href = "https://www.acwing.com":在当前标签栏中打开页面。

canvas

可以在官网用一些现成的函数来写
canvas

<html><head><script type="application/javascript">function draw() {const canvas = document.getElementById("canvas");if (canvas.getContext) {const ctx = canvas.getContext("2d");ctx.fillRect(25, 25, 100, 100);ctx.clearRect(45, 45, 60, 60);ctx.strokeRect(50, 50, 50, 50);}}</script>
</head><body onload="draw();"><canvas id="canvas" width="150" height="150"></canvas>
</body></html>

在这里插入图片描述
在这里插入图片描述

<html><head><script type="application/javascript">function draw() {var canvas = document.getElementById("canvas");if (canvas.getContext) {var ctx = canvas.getContext("2d");ctx.beginPath();ctx.arc(75, 75, 50, 0, Math.PI * 2, true); // 绘制ctx.moveTo(110, 75);ctx.arc(75, 75, 35, 0, Math.PI, false); // 口 (顺时针)ctx.moveTo(65, 65);ctx.arc(60, 65, 5, 0, Math.PI * 2, true); // 左眼ctx.moveTo(95, 65);ctx.arc(90, 65, 5, 0, Math.PI * 2, true); // 右眼ctx.stroke();}}</script>
</head><body onload="draw();"><canvas id="canvas" width="150" height="150"></canvas>
</body></html>

结语

『心之所愿,无所不成。』—— 「网络」

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3270015.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

AI绘画:艺术与科技融合的新篇章

随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;AI绘画作为一种新兴的艺术形式&#xff0c;正逐步改变着传统艺术创作的格局。从早期的简单模仿到如今的个性化创作&#xff0c;AI绘画不仅提升了艺术创作的效率和质量&#xff0c;还开辟了全新的应用场景和商…

sizeof和strlen区别

如图&#xff0c;sizeof来计算的时候&#xff0c;得出的是计算机用多少个字节来表示一个地址 而strlen来计算的时候&#xff0c;只是计算出他的有效字符长度 打印出的不同地址就是其不同的区别

【深海王国】小学生都能玩的单片机!番外1:Arduino家族Uno-Mega-Nano-Pro Mini-ATtiny85的使用指南(3)

Hi٩(๑ ^ o ^ ๑)۶, 各位深海王国的同志们&#xff0c;早上下午晚上凌晨好呀~辛勤工作的你今天也辛苦啦 (o゜▽゜)o☆ 今天大都督继续为大家带来单片机的番外系列——小学生都能玩的单片机&#xff01;番外1带你快速学习认识Arduino家族&#xff1a;Uno、Mega、Nano、Pro Mi…

Java小抄|使用StopWatch输出执行耗时

文章目录 背景常用接口定义demo1 统计输出的总耗时demo2 统计最后一个任务的耗时demo3 统计多个任务的耗时占比 背景 StopWatch是spring-framwork提供的一个可以对任务执行时间进行控制的类&#xff0c;方便记录任务的开始时间和结束时间 常用接口定义 getTotalTimeSeconds(…

秒懂C++之string类(下)

目录 一.接口说明 1.1 erase 1.2 replace&#xff08;最好别用&#xff09; 1.3 find 1.4 substr 1.5 rfind 1.6 find_first_of 1.7 find_last_of 二.string类的模拟实现 2.1 构造 2.2 无参构造 2.3 析构 2.4.【】运算符 2.5 迭代器 2.6 打印 2.7 reserve扩容 …

网络通信---TCP协议1

今日内容 三次握手: 指建立tcp连接时&#xff0c;需要客户端和服务端总共发送三次报文确认连接。 四次挥手&#xff1a; 断开一个tcp连接&#xff0c;需要客户端和服务端发送四个报文以确认断开。 编程模型 TCP报文 客户端 服务端

Charles实战(三)

第一章节&#xff1a;过滤 Filter Focus Recording Settings - Include Filter Focus 第二章&#xff1a;重发 简单重发&#xff1a;鼠标右键- Repeat 简单压力&#xff1a; 鼠标右键 - Repeat Advanced Iterations:重复发送多少次 20 Concurrency:每次发几组请求&#x…

23 Python常用内置函数——map()

内置函数 map() 把一个函数 func 依次映射到序列或迭代器对象的每个元素上&#xff0c;并返回一个可迭代的 map 对象作为结果&#xff0c;map 对象中的每个元素是原序列中元素经过函数 func 处理后的结果&#xff0c;map() 函数不对原序列或迭代器对象做任何修饰。 print(map(…

数字图像处理和机器视觉中的常用特殊矩阵及MATLAB实现详解

一、前言 Matlab的名称来源于“矩阵实验室&#xff08;Matrix Laboratory&#xff09;”&#xff0c;其对矩阵的操作具有先天性的优势&#xff08;特别是相对于C语言的数组来说&#xff09;。在数字图像处理和机器视觉实践中&#xff0c;为了提高编程效率&#xff0c;MATLAB 提…

ResT v2 论文解读

paper&#xff1a;ResT V2: Simpler, Faster and Stronger official implementation&#xff1a;https://github.com/wofmanaf/ResT 出发点 ResTv2的设计目标是改进先前版本ResTv1的结构&#xff0c;以提高模型的效率和性能。ResTv1通过引入多尺度注意力机制&#xff08;EMS…

深入源码:解析SpotBugs静态代码分析框架 0

文章目录 引言SpotBugs概述启动附录 引言 SpotBugs是一个开源的Java静态分析工具&#xff0c;旨在帮助开发人员检测Java代码中的潜在缺陷和漏洞。以下是对SpotBugs的详细解释&#xff1a; SpotBugs概述 定义与功能&#xff1a;SpotBugs是FindBugs的继任者。FindBugs是一个广受…

甲方产品过于平庸该如何编写策划案?

面对甲方产品相对平庸的情况&#xff0c;作为策展新人&#xff0c;你需要发挥创意和策略思维&#xff0c;通过巧妙的策划来挖掘和呈现产品的独特价值&#xff0c;让观众在展馆中依然能找到吸引他们的亮点。 以下是一些建议&#xff0c;希望能帮助你编写出既真实又能吸引眼球的…

基于JSP、java、Tomcat、mysql三层交互的项目实战--校园交易网(2)登录,注册功能实现

技术支持&#xff1a;JAVA、JSP 服务器&#xff1a;TOMCAT 7.0.86 编程软件&#xff1a;IntelliJ IDEA 2021.1.3 x64 登陆页面如下 在这个页面中我们实现了一个登录页面和一个注册页面的Jsp文件&#xff0c;和两个java 的服务层文件 分别是web包下的denglu.jsp和zhuce.jsp以…

【Django】js实现简单计算器

文章目录 完整html写script写views写urls ##需求 ##实验 完整html {% load static %} <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, i…

【JUC】Java锁介绍

文章目录 阿里锁开发规范乐观锁和悲观锁悲观锁乐观锁 synchronized 类锁、对象锁synchronized有三种应用方式锁相关的8种案例演示&#xff08;对象锁、类锁&#xff09;标准访问ab两个线程&#xff0c;请问先打印邮件还是短信&#xff1f;sendEmail钟加入暂停3秒钟&#xff0c;…

c++入门----类与对象(中)

OK呀&#xff0c;家人们承接上文&#xff0c;当大家看过鄙人的上一篇博客后&#xff0c;我相信大家对我们的c已经有一点印象了。那么我们现在趁热打铁再深入的学习c入门的一些知识。 类的默认成员函数 首先我们学习的是我们的默认函数。不知道大家刚读这个名词是什么反应。默认…

鱼哥好书分享活动第27期:看完这篇《云原生安全》了解云原生环境安全攻防实战技巧!

鱼哥好书分享活动第27期&#xff1a;看完这篇《云原生安全》了解云原生安全攻防实战技巧&#xff01; 主要内容&#xff1a;读者对象&#xff1a;本书目录&#xff1a;了解更多&#xff1a;赠书抽奖规则: 当前全球数字化的发展逐步进入深水区&#xff0c;云计算模式已经广泛应用…

【Linux C | 网络编程】简易进程池的实现详解(一)

进程池&#xff08;Process Pool&#xff09;是一种并发编程的模型&#xff0c;用于管理和复用多个进程&#xff0c;以提高系统的效率和性能。它主要解决的问题是减少因频繁创建和销毁进程而带来的性能开销&#xff0c;特别是在需要处理大量并发任务时尤为有效。 主要组成部分…

法律 | 法律人AI使用指南

原文&#xff1a;法律 | 法律人AI使用指南|法官|法院|文书|公司法_网易订阅 01 引言 过去半年多&#xff0c;我一直在尝试着用AI来辅助自己的各项法律工作&#xff0c;将AI融入自己的日常工作之中&#xff0c;并试图形成自身稳定的“法律AI”工作流。在此过程中&#xff0c;…

实时捕获数据库变更

1.CDC概述 CDC 的全称是 Change Data Capture &#xff0c;在广义的概念上&#xff0c;只要能捕获数据变更的技术&#xff0c;我们都可以称为 CDC 。我们目前通常描述的CDC 技术主要面向数据库的变更&#xff0c;是一种用于捕获数据库中数据变更的技术&#xff0c;CDC 技术应用…