从零开始的抢购脚本开发-油猴开发教程(多快好省)

news2024/11/20 15:23:19

请添加图片描述

在这里插入图片描述

文章目录

  • 前言
    • 为何学习 JavaScript?
  • JS简介
    • JavaScript 能够改变 HTML 内容
  • JavaScript 能够改变 HTML 属性
  • JavaScript 能够改变 HTML 样式 (CSS)
  • JavaScript 能够隐藏 HTML 元素
  • JavaScript 能够显示 HTML 元素
  • JS的使用
  • 外部脚本
  • 外部 JavaScript 的优势
  • 外部引用
  • JavaScript 不提供任何内建的打印或显示函数。
  • 总结

前言

首先学会写JS,这是你会写抢购脚本的基础

为何学习 JavaScript?

JavaScript 是 web 开发者必学的三种语言之一:

HTML 定义网页的内容
CSS 规定网页的布局
JavaScript 对网页行为进行编程
本教程提供关于 JavaScript,以及 JavaScript 如何与 HTML 和 CSS 协同工作的知识。

本教程涵盖了 JavaScript 的每个版本:

原始的 JavaScript ES1 ES2 ES3 (1997-1999)
第一个主要修订版 ES5 (2009)
第二个修订版 ES6 (2015)
所有年度增强版 (2016、2017、2018、2019、2020、2021)

JS简介

JavaScript 能够改变 HTML 内容

getElementById() 是多个 JavaScript HTML 方法之一。

本例使用该方法来“查找” id="demo" 的 HTML 元素,并把元素内容(innerHTML)更改为 "Hello JavaScript":

实例

document.getElementById("demo").innerHTML = "Hello JavaScript";
<!DOCTYPE html>
<html>
<body>

<h2>JavaScript 能做什么</h2>

<p id="demo">JavaScript 能够改变 HTML 内容。</p>

<button type="button" onclick='document.getElementById("demo").innerHTML = "Hello JavaScript!"'>点击我!</button>

</body>
</html>

JavaScript 能够改变 HTML 属性

本例通过改变 <img> 标签的 src 属性(source)来改变一张 HTML 图像:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript 能做什么?</h2>

<p>JavaScript 能够改变 HTML 属性值。</p>

<p>在本例中,JavaScript 改变了图像的 src 属性值。</p>

<button onclick="document.getElementById('myImage').src='/i/eg_bulbon.gif'">开灯</button>

<img id="myImage" border="0" src="/i/eg_bulboff.gif" style="text-align:center;">

<button onclick="document.getElementById('myImage').src='/i/eg_bulboff.gif'">关灯</button>

</body>
</html>

JavaScript 能够改变 HTML 样式 (CSS)

改变 HTML 元素的样式,是改变 HTML 属性的一种变种:

实例

document.getElementById("demo").style.fontSize = "25px";

JavaScript 能够隐藏 HTML 元素

可通过改变 display 样式来隐藏 HTML 元素:

实例
document.getElementById(“demo”).style.display=“none”;

JavaScript 能够显示 HTML 元素

可通过改变 display 样式来显示隐藏的 HTML 元素:

实例
document.getElementById(“demo”).style.display=“block”;

JS的使用

在 HTML 中,JavaScript 代码必须位于 <script> 与 </script> 标签之间。

<!DOCTYPE html>
<html>
<body>

<h2>Body 中的 JavaScript</h2>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = "我的第一段 JavaScript";
</script>

</body>
</html>

<head><body> 中的 JavaScript

您能够在 HTML 文档中放置任意数量的脚本。

脚本可被放置与 HTML 页面的 或 部分中,或兼而有之。

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {
    document.getElementById("demo").innerHTML = "段落已被更改。";
}
</script>
</head>

<body>

<h2>Head 中的 JavaScript</h2>

<p id="demo">一个段落。</p>

<button type="button" onclick="myFunction()">试一试</button>

</body>
</html>

外部脚本

脚本可放置与外部文件中:

外部文件:myScript.js

function myFunction() {
   document.getElementById("demo").innerHTML = "段落被更改。";
}

外部脚本很实用,如果相同的脚本被用于许多不同的网页。

JavaScript 文件的文件扩展名是 .js。

如需使用外部脚本,请在

实例

<script src="myScript.js"></script>

外部 JavaScript 的优势

在外部文件中放置脚本有如下优势:

分离了 HTML 和代码
使 HTML 和 JavaScript 更易于阅读和维护
已缓存的 JavaScript 文件可加速页面加载
如需向一张页面添加多个脚本文件 - 请使用多个 script 标签:

实例

<script src="myScript1.js"></script>
<script src="myScript2.js"></script>

外部引用

可通过完整的 URL 或相对于当前网页的路径引用外部脚本:

本例使用完整的 URL 来链接至脚本:

实例

<script src="https://www.w3school.com.cn/js/myScript1.js"></script>

JavaScript 不提供任何内建的打印或显示函数。

JavaScript 显示方案
JavaScript 能够以不同方式“显示”数据:

使用 window.alert() 写入警告框
使用 document.write() 写入 HTML 输出
使用 innerHTML 写入 HTML 元素
使用 console.log() 写入浏览器控制台

总结

  1. JS能改HTML的内容、属性,用getElementById来获取。
  2. JS能改CSS的属性
  3. JS能隐藏、显示HTML元素display=“none”,display=“block”
  4. 在 HTML 中,JavaScript 代码必须位于 <script> 与 </script> 标签之间。
  5. 脚本可被放置与 HTML 页面的 或 部分中,或兼而有之。
  6. 提示:把脚本置于 元素的底部,可改善显示速度,因为脚本编译会拖慢显示。
  7. 外部脚本,在 script标签的 src (source) 属性中设置脚本的名称<script src="myScript.js"></script>
  8. 注:外部脚本不能包含 script标签。
  9. 可以使用完整的 URL 来链接至脚本:<script src="https://www.w3school.com.cn/js/myScript1.js"></script>
  10. JavaScript 能够以不同方式“显示”数据,使用 window.alert() 写入警告框
    使用 document.write() 写入 HTML 输出
    使用 innerHTML 写入 HTML 元素
    使用 console.log() 写入浏览器控制台
  11. 不提供任何内建的打印或显示函数
  12. 注意:在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML :
  13. 提示:以分号结束语句不是必需的,但我们仍然强烈建议您这么做。
  14. JavaScript 语句可以用花括号({...})组合在代码块中。
  15. JavaScript 语句定义两种类型的值:混合值和变量值。
  16. 混合值被称为字面量(literal)。变量值被称为变量
  17. JavaScript 对大小写敏感
  18. JavaScript 程序员倾向于使用以小写字母开头的驼峰大小写
  19. JavaScript 使用 Unicode 字符集。
  20. 提示:在脚本的开头声明所有变量是个好习惯!
  21. 您可以在一条语句中声明许多变量。以 var 作为语句的开头,并以逗号分隔变量:var person = "Bill Gates", carName = "porsche", price = 15000;
  22. 重复声明 JavaScript 变量,如果再次声明某个 JavaScript 变量,将不会丢它的值。
  23. 提示:如果把要给数值放入引号中,其余数值会被视作字符串并被级联。
  24. ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const。这两个关键字在 JavaScript 中提供了块作用域(Block Scope)变量(和常量)。
  25. 全局(在函数之外)声明的变量拥有全局作用域
  26. 函数作用域,局部(函数内)声明的变量拥有函数作用域
  27. JavaScript 块作用域,通过 var 关键词声明的变量没有块作用域。在块 {} 内声明的变量可以从块之外进行访问
  28. 重新声明变量,使用 var 关键字重新声明变量会带来问题。在块中重新声明变量也将重新声明块外的变量:
  29. 如果在循环中用 let 声明了变量 i,那么只有在循环内,变量 i 才是可见的。
  30. 使用 JavaScript 的情况下,全局作用域是 JavaScript 环境
  31. HTML 中,全局作用域是 window 对象。通过 var 关键词定义的全局变量属于 window 对象
  32. 实例var carName = "porsche";// 此处的代码可使用 window.carName 亲自试一试
  33. 通过 let 关键词定义的全局变量不属于 window 对象:实例let carName = "porsche";// 此处的代码不可使用 window.carName
  34. 在相同的作用域,或在相同的块中,通过 let 重新声明一个 var 变量是不允许的:
  35. 通过 var 声明的变量会提升到顶端。如果您不了解什么是提升(Hoisting),请学习我们的提升这一章。Javascript 提升
    使用 var,您可以在声明之前使用变量
  36. 通过 const 定义的变量与 let 变量类似,但不能重新赋值:
  37. 关键字 const 有一定的误导性。ta没有定义常量值。它定义了对值的常量引用。因此,我们不能更改常量原始值,但我们可以更改常量对象的属性。
  38. 常量对象可以更改,您可以更改常量对象的属性:
  39. 常量数组可以更改,您可以更改常量数组的元素:
  40. 在同一作用域或块中,不允许将已有的 var 或 let 变量重新声明或重新赋值给 const:
  41. 提示:如果您对数字和字符串相加,结果将是字符串!
  42. yield 暂停函数 yield x
  43. JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象等等:
  44. JavaScript 拥有动态类型。这意味着相同变量可用作不同类型:
  45. JavaScript 数组用方括号书写。
  46. JavaScript 对象用花括号来书写。对象属性name:value 对,由逗号分隔。实例var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
  47. 您可使用 JavaScript 的 typeof 来确定 JavaScript 变量的类型:typeof 运算符返回变量或表达式的类型:
  48. 不幸的是,在 JavaScript 中,null 的数据类型是对象。
  49. typeof function myFunc(){} // 返回 "function"
  50. typeof 运算符把数组返回为 “object”,因为在 JavaScript 中数组即对象。
  51. JavaScript 函数通过 function 关键词进行定义,其后是函数名和括号 ()。
  52. 不使用 () 访问函数将返回函数声明而不是函数结果:
  53. 在 JavaScript 函数中声明的变量,会成为函数的局部变量。

在这里插入图片描述

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

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

相关文章

【JavaEE】了解JVM

JVM的基本认识 文章目录 【JavaEE】了解JVM1. JVM中的内存区域划分1.1 JVM的核心区域1.2 JVM内存城防图 2. JVM的类加载机制2.1 loading2.2 verification2.3 preparation2.4 resolution2.5 initialization2.6 类加载触发的时机2.7 双亲委派模型 3. JVM中的垃圾回收策略3.1 JVM释…

cmake 提前结束处理命令: return

有时候,我们有这样的需求,当处理到某个地方的时候,后面的我们都不想处理或者不需要处理的时候,就可以提前结束当前的处理逻辑,回到父级去处理.在C/C中,我们有break关键字跳出当前循环,continue关键字进入下一次循环,return关键字返回当前处理的函数. cmake也提供了break(),con…

浅谈电脑城的衰退是好是坏社会现象_kaic

在过去很长一段时间里&#xff0c;想要购买电子设备都逃不开一个叫“电脑城”的地方&#xff0c;那里鱼龙混杂良莠不齐&#xff0c;是令许多人记忆深刻分外难忘之处。 但是随着时代发展电商兴起&#xff0c;采用传统线下销售的电脑城却逐渐衰退甚至面临消失&#xff0c;对此你怎…

7-3 打怪升级

B0->途经堡垒1->...->B 总耗费能量 武器总价值输入样例: 6 12 1 2 10 5 2 3 16 20 3 1 4 2 2 4 20 22 4 5 2 2 5 3 12 6 4 6 8 5 6 5 10 5 6 1 20 25 1 5 8 5 2 5 2 1 2 6 8 5 4 2 3 6 5输出样例: 5 5->2 2 1 5->1->3 12 7 5->4->6 10 7 5 0 0#inclu…

目标检测——R-CNN网络基础

目录 Overfeat模型RCNN模型算法流程候选区域生成CNN网络提取特征目标分类&#xff08;SVM&#xff09;目标定位预测过程 算法总结 Fast RCNN模型算法流程ROI Pooling目标分类和回归 模型训练模型总结 Overfeat模型 RCNN模型 算法流程 候选区域生成 CNN网络提取特征 目标分类&am…

osg osgText::Text 中文乱码问题修复 解决中

osg osgText::Text 中文乱码问题修复 解决中 #include <osgDB/ConvertUTF>osg::Camera* osgWidget::createTextHUD() { osgText::Font* fontHei osgText::readFontFile("Fonts/simkai.ttf");text->setFont(fontHei);// 步骤二&#xff1a;设置 文字颜…

浅谈分布式系统 - 架构演进

目录 1. 架构演进 1.1 单机架构 1.2 什么是分布式架构 1.3 数据库和应用分离 1.4 引入负载均衡 1.5 引入数据库读写分离 1.6 引入缓存 1.7 数据库分库分表 1.8 微服务架构 2. 分布式系统下的常见概念 1. 架构演进 1.1 单机架构 单机架构只有一台服务器, 这个服务器…

HTML+CSS+JavaScript:渲染柱形统计图

一、需求 用户输入四个季度的数据&#xff0c;根据数据生成柱形统计图&#xff0c;浏览器预览效果如下 二、完整代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content&q…

Java利用POI导入Excel数据(多个sheet、模板)

需求&#xff1a;根据excel模板导入数据 sheet1&#xff1a;1-6行为固定格式&#xff0c;且需要取值({xxx});7行开始为数据集合(list) sheet2&#xff1a;都为固定格式&#xff0c;取值地方&#xff1a;{xxx} 1、数据格式&#xff08;两个Sheet&…

从零开始理解Linux中断架构(19)--中断线程化irq_thread

前面一节讲到的中断流处理流程是在hard_irq 流程上&#xff0c;工作在中断堆栈上。还有一种情况是使用中断线程的情形。request_threaded_irq参数中有两个处理函数handler,thread_fn是有区别的。handler主中断处理例程&#xff0c;运行hard_irq 流程上。而如果驱动程序填写thre…

利用R分别绘制配对连线散点图、云雨图、山脊图

大家好&#xff0c;我是带我去滑雪&#xff01; 精美的科研绘图总会给人眼前一亮&#xff0c;今天学习利用R绘制多组配对连线散点图、云雨图、山脊图&#xff0c;这三幅图最近都曾出现在Nature Communications (IF 16.6)中&#xff0c;比如配对连线散点图&#xff0c;如下所示&…

AI智能助手的未来:与人类互动的下一代人工智能技术

自我介绍⛵ &#x1f4e3;我是秋说&#xff0c;研究人工智能、大数据等前沿技术&#xff0c;传递Java、Python等语言知识。 &#x1f649;主页链接&#xff1a;秋说的博客 &#x1f4c6; 学习专栏推荐&#xff1a;人工智能&#xff1a;创新无限、MySQL进阶之路、C刷题集、网络安…

AIGC文生图:使用ControlNet 控制 Stable Diffusion

1 ControlNet介绍 1.1 ControlNet是什么&#xff1f; ControlNet是斯坦福大学研究人员开发的Stable Diffusion的扩展&#xff0c;使创作者能够轻松地控制AI图像和视频中的对象。它将根据边缘检测、草图处理或人体姿势等各种条件来控制图像生成。 论坛地址&#xff1a;Adding…

操作系统进行设备控制的方式

一.I/O控制方式 上一篇的博客介绍了设备管理的一些概念基础知识点&#xff0c;其中I/O控制方式这一块没有详细说明。设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送。外围设备和内存之间的输入/输出控制方式有4种&#xff0c;下面分别加以介绍。 二.程序直接控制…

ITIL 4—事件管理实践

1 关于本文 本文档提供事件管理实践实用指南。分为五个主要部分&#xff0c;内容包括&#xff1a; 本实践的一般信息实践的流程和活动及其在服务价值链中的作用参与实践的组织和人员支持实践的信息和技术对实践的合作伙伴和供应商的考虑。 1.1 ITIL4 认证方案 本文档的部分…

Ubuntu 安装 Docker

本文目录 1. 卸载旧版本 Docker2. 更新及安装工具软件2.1 更新软件包列表2.2 安装几个工具软件2.3 增加一个 docker 的官方 GPG key2.4 下载仓库文件 3. 安装 Docker3.1 再次更新系统3.2 安装 docker-ce 软件 4. 查看是否启动 Docker5. 验证是否安装成功 1. 卸载旧版本 Docker …

图片文字对齐 图片文字居中对齐

方法一: 用 vertical-align: middle; <view class="container"><view class="search"><image src="../../images/icon/search.png" alt="" /><text class="tex">搜索</text></view>&…

手写对象浅比较(React中pureComponent和Component区别)

PureComponent和Component的区别 PureComponent会给类组件默认加一个shouldComponentUpdate这样的周期函数 //PureComponent类似自动加了这段shouldComponentUpdate(nextProps,nextState){let { props, state } this;// props/state:修改之前的属性状态// nextProps/nextState…

layui入门增删改查

layui入门增删改查 创建Lauiyi对象1.后台准备1.dao方法2.子实现类 2.R工具类的使用3.查询前端代码实现前端页面 4.增删改实现2.浮层3分离的js代码1.userManage.js2.userEdit.js3.index.js 5.运行效果 作为一名开发人员&#xff0c;我们经常需要对数据库中的数据进行增删改查&am…

120、仿真-51单片机温湿度光照强度C02 LCD1602 报警设计(Proteus仿真+程序+元器件清单等)

方案选择 单片机的选择 方案一&#xff1a;STM32系列单片机控制&#xff0c;该型号单片机为LQFP44封装&#xff0c;内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ&#xff0c;在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…