【JavaScript】网页交互的灵魂舞者

news2024/10/18 9:39:20

我的主页:2的n次方_    

1. JavaScript 的三种引入方式

引⼊⽅式

语法描述

⽰例

⾏内样式

直接嵌⼊到 html 元素内部

<input type="button" value="点我⼀下" οnclick="alert('haha')">

内部样式

定义<script>标签,写到 script 标签中

<script> alert("haha"); </script>

外部样式

定义<script >标签,通过src属性引⼊外部js⽂件

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

1.1. 行内样式

<input type="button" value="点我⼀下" onclick="alert('haha')">

1.2. 内部样式

JavaScript 可以在 html 的 script 标签里进行编辑,通过 alert 方法可以实现一个浏览器弹窗的效果

<body>
    <script>
        alert("hello");
    </script>
</body>

1.3. 外部样式

alert("Hello World!");

<body>
    <script src="test.js"></script>
</body>

2. 基础语法

2.1. 变量

关键字

解释

示例

var

早期JS中声明变量的关键字, 作⽤域在该语句的函数内

var name = 'zhangsan';

let

ES6 中新增的声明变量的关键字, 作⽤域为该语句所在的代码块内

let name = 'zhangsan';

const

声明常量的,声明后不能修改

const name = 'zhangsan';

JavaScript 的变量可以存放不同的类型的值,一个 var 可以声明各种变量,这些变量的类型在程序运行的过程中还可能发生改变

<script>
    var a = 10;
    a = "nihao"
    alert(a);
</script>

还可以通过控制台打印日志的方式,调用 typeof 来查看当前变量的类型

var a = 10;
console.log(typeof a);
a = "nihao"
console.log(typeof a);

数据类型

数据类型

描述

number

数字. 不区分整数和⼩数.

string

字符串类型. 字符串字⾯值需要使⽤引号引起来, 单引号双引号均可.

boolean

布尔类型. true 真, false 假

undefined

表⽰变量未初始化. 只有唯⼀的值 undefined.

2.2. 运算符

运算符大部分都是和 Java 相等的,这里介绍一下 “==”和“===”的区别

let num1 = 20;
let num2 = "20";
console.log(num1 == num2);
console.log(num1 === num2);

== ⽐较相等(会进⾏隐式类型转换)

=== ⽐较相等(不会进⾏隐式类型转换)

2.3. 数组

创建数组也是有两种方式,首先就是通过 new 关键字来创建数组

var arr = new Array();

另一种就是通过字面量创建

var arr1 = [];
var arr2 = [1, 2, 3];

和 Java 不同的就是,JavaScript 的数组的大小可以更改,里面也可以存储很多类型

var arr = [1, 2, 'haha', false];

再来看新增,数组下标为 - 1 时的值也可以更改,也可以不按照下标顺序新增,断开的下标都用 empty 表示,但是薪资 -1 下标并不会影响数组的长度

2.4. 函数

function add(num1, num2) {
  return num1 + num2;
}
let ans = add(1, 2);
console.log(ans);

参数个数多传也没关系:

参数少传的话就会有点问题,如果类型符合,那么就是一个数字加上了一个未定义的值

如果传入的是字符串,就会按照字符串拼接的方式

也可以没有返回值:

还可以把函数名省略掉

2.5. 对象

JavaScript 中创建对象使用一组 { } ,里面的属性和值通过键值对来组织,键值对之间使用逗号分割,键和值之间用冒号区分,获取对象的属性也是通过 ' . ' 来获取,还可以通过 ' [ ] ' 来访问属性,此时属性需要加上引号

var person = {
  name: "张三",
  age: 18,
  sayHello: function () {
    console.log("hello");
  }
}
console.log(person.name);
console.log(person['age']);

也可以使用 Object 的方式 new 对象

还可以通过 this 去修改一些属性的值

3. jQuery

jQuery 语法是通过选取 HTML 元素, 并对选取的元素执⾏某些操作

基础语法:$(selector).action()

$( ) 是 jQuery 提供的⼀个全局函数, ⽤于选择和操作 HTML 元素

Selector 选择器, ⽤来"查询"和"查找" HTML 元素
action 操作, 执⾏对元素的操作

<button id="btn">点我</button>
<script src="jquery-3.7.1.min.js"></script>
<script>
    $(document).ready(function (){
        console.log("加载完成");
        $("#btn").click(function (){
            $(this).hide();
        });
    });
</script>

JQuery 的代码通常都写在 document ready 函数中 ,这样可以保证在文档加载完之后才能对页面进行操作

JQuery⽅法

说明

text()

设置或返回所选元素的⽂本内容

html()

设置或返回所选元素的内容(包括 HTML 标签)

val()

设置或返回表单字段的值

text()

<body>
    <div id = "content">
        <h1>我是一个文本</h1>
    </div>
    <button id="btn">点我</button>
    <script src="jquery-3.7.1.min.js"></script>
    <script>
        $(document).ready(function (){
            $("#btn").click(function (){
                $(this).hide();
            });
        });
        let content = $("#content").text();
        console.log(content);
    </script>
</body>

通过 text() 方法成功的获得了所选元素的文本内容,如果修改所选元素的文本内容的话,就需要传入参数

html( )

html( ) 方法是可以获取并设置 html 标签的,这一点和 text( ) 方法有区别

val( )

再来看 val() 方法,val 是获取或者设置表单字段的值,同理,如果有参数就表示设置值,没有参数就表示获取值

attr ()

还可以通过 attr () 方法来获取或者设置属性值


通过 css() 方法获取样式

获取 CSS 样式

设置 CSS 样式

插入

删除

remove:删除被选元素及其子元素

empty:删除被选元素的子元素

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

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

相关文章

云计算第四阶段: cloud二周目 07-08

cloud 07 一、k8s服务管理 创建服务 # 资源清单文件 [rootmaster ~]# kubectl create service clusterip websvc --tcp80:80 --dry-runclient -o yaml [rootmaster ~]# vim websvc.yaml --- kind: Service apiVersion: v1 metadata:name: websvc spec:type: ClusterIPselector…

IGFBP7:免疫治疗新靶点

前 言 胰岛素样生长因子结合蛋白7&#xff08;IGFBP7&#xff09;是胰岛素超家族的生长促进肽成员&#xff0c;可与胰岛素和IGF结合&#xff0c;调控细胞生长和分化。IGFBP7在不同的肿瘤类型中表现出抑制或促进肿瘤生长的“自相矛盾”活性。研究发现IGFBP7可增强治疗性单克隆…

C语言 | Leetcode C语言题解之第491题非递减子序列

题目&#xff1a; 题解&#xff1a; int** ans; int ansSize; int* temp; int tempSize;void dfs(int cur, int last, int* nums, int numsSize, int** returnColumnSizes) {if (cur numsSize) {if (tempSize > 2) {ans[ansSize] malloc(sizeof(int) * tempSize);memcpy(…

HDLBits中文版,标准参考答案 | 5 Verification: Writing Testbenches | 验证:编写测试平台

关注 望森FPGA 查看更多FPGA资讯 这是望森的第 24 期分享 作者 | 望森 来源 | 望森FPGA 目录 1 Clock 2 Testbench1 3 AND gate 4 Testbench2 5 T flip-fop 本文中的代码都能够正常运行&#xff0c;请放心食用&#x1f60b;~ 练习的官方网站是&#xff1a;https://hdlbi…

Hi3061M——VL53L0X激光测距(IIC)(同样适用于其他MCU)

这里写目录标题 前言VL53L0X的简介VL53L0X的初始化和效准过程的相关APIVL53L0X开始测量和获取测量值VL53L0X移植配置结语 前言 手头正好有一个空闲的激光测距模块VL53L0X&#xff0c;想在Hi3061M上跑一下测距&#xff0c;以前并没有用过VL53L0X&#xff0c;想着以为还是向以前…

浅谈针对Nor flash状态寄存器保护位修改方法

浅谈针对Nor flash状态寄存器保护位修改 ✨最近在写QSPI驱动Nor flash过程中&#xff0c;在操作芯片的状态寄存器的时候&#xff0c;遇到的一些问题和解决办法。 &#x1f52c;操作Nor flash测试芯片&#xff1a;GD25Q64&#x1f516;以QSPI测试为例&#xff0c;SPI方式修改没有…

集成电路学习:什么是WLAN无线局域网

WLAN&#xff1a;无线局域网 WLAN&#xff0c;即无线局域网&#xff08;Wireless Local Area Network&#xff09;&#xff0c;是一种通过无线技术构建的局域网络&#xff0c;它使用无线信号传输数据&#xff0c;取代了传统有线网络中的网线连接。以下是关于WLAN的详细解释&…

Lumerical学习——优化和参数扫描(Optimization and parameter sweeps)

一、概要介绍 这部分介绍优化和参数扫描项目设定的方法。在有大量数据模拟计算过程中这个特性允许用户使处理方法自动地查找期望的参数值。 ① 创建一个参数扫描任务 ② 创建一个优化任务 ③ 创建一个良率分析任务 ⑤ 打开所选择项目的编辑窗口&#xff0c;编辑其属性…

stm32 bootloader写法

bootloader写法&#xff1a; 假设app的起始地址&#xff1a;0x08020000&#xff0c;则bootloader的范围是0x0800,0000~0x0801,FFFF。 #define APP_ADDR 0x08020000 // 应用程序首地址定义 typedef void (*APP_FUNC)(void); // 函数指针类型定义 /*main函数中调用rum_app&#x…

【Unity】Unity Shader学习笔记(八)基础纹理2:高度纹理、法线纹理、模型空间下的法线纹理、切线空间下的法线纹理光照计算

文章目录 凹凸映射法线纹理设置高度纹理&#xff08;Height Map&#xff09;法线纹理&#xff08;Normal Map&#xff09;模型空间的法线纹理切线空间的法线纹理优劣对比 切线空间下的法线纹理光照计算最终效果完整代码TANGENT语义内置宏 TANGENT_SPACE_ROTATIONObjSpaceLightD…

前缀和--一维和二维模板

前缀和 【模板】前缀和 描述 给定一个长度为n的数组a1,a2,…ana1,a2,…a**n. 接下来有q次查询, 每次查询有两个参数l, r. 对于每个询问, 请输出alal1…ara**la**l1…a**r 输入描述&#xff1a; 第一行包含两个整数n和q. 第二行包含n个整数, 表示a1,a2,…ana1,a2,…a**n.…

JavaWeb——Maven(4/8):Maven坐标,idea集成-导入maven项目(两种方式)

目录 Maven坐标 导入Maven项目 第一种方式 第二种方式 Maven坐标 Maven 坐标 是 Maven 当中资源的唯一标识。通过这个坐标&#xff0c;我们就能够唯一定位资源的位置。 Maven 坐标主要用在两个地方。第一个地方&#xff1a;我们可以使用坐标来定义项目。第二个地方&#…

CLANet:基于明场图像的跨批次细胞系识别综合框架|文献速递-基于深度学习的医学影像分类,分割与多模态应用

Title 题目 CLANet: A comprehensive framework for cross-batch cell line identificationusing brightfield images CLANet&#xff1a;基于明场图像的跨批次细胞系识别综合框架 01 文献速递介绍 细胞系鉴定&#xff08;Cell Line Authentication&#xff0c;CLA&#x…

英飞达医学影像存档与通信系统 WebUserLogin.asmx 信息泄露漏洞复现

0x01 产品简介 英飞达医学影像存档与通信系统 Picture Archiving and Communication System,它是应用在医院影像科室的系统,主要的任务就是把日常产生的各种医学影像(包括核磁,CT,超声,各种X光机,各种红外仪、显微仪等设备产生的图像)通过各种接口(模拟,DICOM,网络…

二叉树与堆讲解

目录 1.树的概念及结构 1.树的概念 2.树的相关概念 3.树的表示 2.二叉树 1.概念 2.特殊的二叉树 1.满二叉树 2.完全二叉树 3.二叉树的性质 4.二叉树的存储结构 1.顺序结构 2.链式存储 3.堆 1.堆的概念及结构 2.堆的实现 1.堆的创建 2.堆的初始化&#xff08;H…

力扣力扣力:206. 反转链表

leetcode链接&#xff1a;206. 反转链表 题目描述&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5]输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1…

手写Spring IOC-简易版

目录 项目结构entitydaoIUserDaoUserDaoImpl serviceIUserServiceUserServiceImpl ApplicationContext 配置文件初始化 IOC 容器RunApplication 注解初始化 IOC 容器BeanAutowired Reference 项目结构 entity User Data NoArgsConstructor AllArgsConstructor Accessors(chai…

面试八股(自用)

什么是java序列化&#xff0c;什么时候需要序列化? 序列化是指将java对象转化成字节流的过程&#xff0c;反序列化是指将字节流转化成java对象的过程。 当java对象需要在网络上传输 或者 持久化到存储文件中&#xff0c;就需要对java对象进行序列化处理。 JVM的主要组成部分…

Leetcode—1242. 多线程网页爬虫【中等】Plus(多线程)

2024每日刷题&#xff08;187&#xff09; Leetcode—1242. 多线程网页爬虫 实现代码 /*** // This is the HtmlParsers API interface.* // You should not implement it, or speculate about its implementation* class HtmlParser {* public:* vector<string>…

【Java 并发编程】阻塞队列与仿真餐厅

前言 阻塞队列 (BlockingQueue) 顾名思义是一种支持阻塞操作的队列&#xff0c;因为内部机制中添加了 wait 和 notify 方法&#xff0c;所以阻塞队列具备了线程之前相互协调的功能。阻塞队列主要运用于两个场景&#xff0c;一是生产者与消费者模型&#xff0c;二是线程池。本章…