【JS】深度学习JavaScript

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
💓 博客主页:从零开始的-CodeNinja之路

⏩ 收录文章:【JS】深度学习JavaScript

🎉欢迎大家点赞👍评论📝收藏⭐文章

目录

  • 一:JavaScript
      • 1.1 JavaScript是什么
      • 1.2 JS的引入方式
      • 1.3 JS变量
      • 1.4 数据类型
      • 1.5 数组操作
      • 1.6 函数
        • 1.6.1 函数的语法格式
        • 1.6.2 函数表达式
      • 1.7 对象
  • 二. JQuery
      • 2.1JQuery是什么
      • 2.2 引入依赖
      • 2.3 JQuery语法
      • 2.4. JQuery选择器
      • 2.5 JQuery事件
      • 2.6 操作元素
        • 2.6.1 获取/设置元素内容
        • 2.6.2 获取元素
        • 2.6.3 设置元素
      • 2.7 添加元素
      • 2.8 删除元素
  • 三.项目实现:表白墙

一:JavaScript

1.1 JavaScript是什么

JavaScript(简称JS),是⼀个脚本语⾔,解释型或即时编译型的编程语⾔.虽然它是作为开发Web页面的
脚本语言而出名,但是它也被用到了很多非浏览器环境中,其实Java和JavaScript之间的语法风格相去甚远
JavaScript和HTML和CSS之间的关系
在这里插入图片描述
• HTML:网页的结构(⻣)
• CSS:网页的表现(皮)
• JavaScript:网页的动作(魂)

1.2 JS的引入方式

JS有3种引入方式,语法如下表格所示:

引入方式语法描述
行内样式直接嵌⼊到html元素内部
内部样式定义script标签,写到script标签中
外部样式定义script标签,通过src属性引⼊外部js⽂件

3种引入方式对比:

  1. 内部样式会出现⼤量的代码冗余,不方便后期的维护,所以不常用.
  2. 行内样式,只适合于写简单样式.只针对某个标签⽣效.缺点是不能写太复杂的jS.
  3. 外部样式,html和js实现了完全的分离,企业开发常用方式.

1.3 JS变量

创建变量(变量定义/变量声明/变量初始化),JS声明变量有3种⽅式

关键字解释
var早期JS中声明变量的关键字,作⽤域在该语句的函数内
lesES6中新增的声明变量的关键字,作⽤域为该语句所在的代码块内
const声明常量的,声明后不能修改

注意事项:
JavaScript是⼀门动态弱类型语言,变量可以存放不同类型的值(动态),随着程序的运行,变量的类型可能会发⽣改变.(弱类型)

1.4 数据类型

虽然js是弱数据类型的语言,但是js中也存在数据类型,js中的数据类型分为:原始类型和引用类型,具体有如下类型

数据类型描述
number数字.不区分整数和⼩数.
string字符串类型.字符串字⾯值需要使⽤引号引起来,单引号双引号均可.
boolean布尔类型.true真,false假
undefined表⽰变量未初始化.只有唯⼀的值undefined.

使⽤typeof函数可以返回变量的数据类型

<script>var a = 10;console.log(typeof a);//numbervar b = 'hello';console.log(typeof b);//stringvar c = true;console.log(typeof c);//booleanvar d;console.log(typeof d);//undefinedvar e = null;console.log(typeof e);//null
</script>

1.5 数组操作

  1. 读:使用下标的方式访问数组元素(从0开始)
  2. 增:通过下标新增,或者使用push进行追加元素
  3. 改:通过下标修改
  4. 删:使用splice方法删除元素
    代码示例:
<script>var arr = [1, 2, 'haha', false];//读取数组console.log(arr[0]); //1//添加数组元素arr[4] = "add"console.log(arr[4]);//addconsole.log(arr.length);//5, 获取数组的⻓度//修改数组元素arr[4] = "update"console.log(arr[4]);//update//删除数组元素arr.splice(4,1);// 第⼀个参数表⽰从下标为4的位置开始删除. 第⼆个参数表⽰要删除的元素个数是 1 个console.log(arr[4]);//undefined 元素已经删除, 如果元素不存在, 结果为undefinedconsole.log(arr.length);//4, 获取数组的⻓度
</script>

注意:

  1. 如果下标超出范围读取元素,则结果为undefined
  2. 不要给数组名直接赋值,此时数组中的所有元素都没了.
    相当于本来arr是⼀个数组,重新赋值后变成字符串了.

1.6 函数

1.6.1 函数的语法格式

函数定义并不会执行函数体内容,必须要调用才会执行.调用⼏次就会执行⼏次.

function hello() {console.log("hello");
}
// 如果不调⽤函数, 则没有执⾏打印语句
hello();

• 调用函数的时候进⼊函数内部执行,函数结束时回到调用位置继续执行.可以借助调试器来观察.
• 函数的定义和调用的先后顺序没有要求.(这⼀点和变量不同,变量必须先定义再使用)

	// 调⽤函数hello();// 定义函数function hello() {console.log("hello");}

实参和形参之间的个数可以不匹配.但是实际开发⼀般要求形参和实参个数要匹配

  1. 如果实参个数比形参个数多,则多出的参数不参与函数运算
 sum(10, 20, 30); // 30
  1. 如果实参个数比形参个数少,则此时多出来的形参值为undefined
 sum(10); // NaN, 相当于 num2 为 undefined.

JS的函数传参比较灵活,这⼀点和其他语言差别较⼤.事实上这种灵活性往往不是好事.

1.6.2 函数表达式

另外⼀种函数的定义方式

var add = function() {var sum = 0;for (var i = 0; i < arguments.length; i++) {sum += arguments[i];}return sum;
}console.log(add(10, 20)); // 30console.log(add(1, 2, 3, 4)); // 10console.log(typeof add); // function

此时形如 function() { } 这样的写法定义了⼀个匿名函数,然后将这个匿名函数用⼀个变量来表
示.后面就可以通过这个add变量来调⽤函数了.
JS中函数可以⽤变量保存,也可以作为其他函数的参数或者返回值.

1.7 对象

在JS中,字符串,数值,数组,函数都是对象.
每个对象中包含若⼲的属性和方法.
• 属性:事物的特征.
• 方法:事物的行为.
JavaScript的对象和Java的对象概念上基本⼀致.只是具体的语法表项形式差别较大

  1. 使用字面量创建对象
    使用{}创建对象
var a = {}; // 创建了⼀个空的对象var student = {name: '夏天',height: 175,weight: 170,sayHello: function() {console.log("hello");}
};

• 使⽤{}创建对象
• 属性和方法使用键值对的形式来组织.
• 键值对之间使用,分割.最后⼀个属性后⾯的,可有可无
• 键和值之间使用:分割.
• 方法的值是⼀个匿名函数.
使用对象的属性和方法:

	// 1. 使⽤ . 成员访问运算符来访问属性 `.` 可以理解成 "的"console.log(student.name);// 2. 使⽤ [ ] 访问属性, 此时属性需要加上引号console.log(student['height']);// 3. 调⽤⽅法, 别忘记加上 ()student.sayHello();

使用构造函数创建对象

	function 构造函数名(形参) {this.属性 =;this.⽅法 = function...}var obj = new 构造函数名(实参);

注意:
• 在构造函数内部使用this关键字来表示当前正在构建的对象.
• 构造函数的函数名首字母⼀般是⼤写的.
• 构造函数的函数名可以是名词.
• 构造函数不需要return
• 创建对象的时候必须使⽤new关键字

二. JQuery

2.1JQuery是什么

W3C标准给我们提供了⼀系列的函数,让我们可以操作:
• 网页内容
• 网页结构
• 网页样式
但是原生的JavaScript提供的API操作DOM元素时,代码比较繁琐,冗⻓.我们学习使用JQuery来操作页面对象.

jQuery是⼀个快速、简洁且功能丰富的JavaScript框架,于2006年发布.它封装JavaScript常用的功能
代码,提供了简洁⽽强⼤的选择器和DOM操作方法.使⽤JQuery可以轻松地选择和操作HTML元素,从
而减少了开发⼈员编写的代码量,提高了开发效率,它提供的API易于使⽤且兼容众多浏览器,这让诸
如HTML⽂档遍历和操作、事件处理、动画和Ajax操作更加简单.JQuery对于事件的处理也进行了简
化,提供了⼀个简单的API来绑定、触发和处理事件,使开发⼈员能够更⽅便地处理各种交互行为.

2.2 引入依赖

使用 JQuery需要先引入对应的库
在使⽤jQuery CDN时,只需要在HTML文档中加入如下代码

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>

其中, src 属性指明了JQuery库所在的URL.这个URL是CDN(内容分发网络)服务提供商为jQuery库
提供的⼀个统⼀资源定位符.

2.3 JQuery语法

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

 $(selector).action()

• $() 是⼀个函数,它是jQuery提供的⼀个全局函数,用于选择和操作HTML元素.
• Selector选择器,用来"查询"和"查找"HTML元素
• action操作,执行对元素的操作
JQuery的代码通常都写在document ready函数中.
document:整个⽂档对象,⼀个页面就是⼀个⽂档对象,使⽤document表⽰.
这是为了防止文档在完全加载(就绪)之前运行jQuery代码,即在文档加载完成后才可以对页面进
行操作。
如果在文档没有完全加载之前就运行函数,操作可能失败

	$(document).ready(function(){// jQuery functions go here});

2.4. JQuery选择器

我们通过JQuery选择器来选择⼀些HTML元素.然后对元素进⾏操作.
JQuery选择器基于已经存在的CSS选择器,除此之外,还有⼀些⾃定义的选择器.
jQuery中所有选择器都 $ 开头:$().

语法描述
$(“*”)选取所有元素
$(“this”)选取当前HTML元素
$(“p”)所有p元素
$(“p:first”)选取第⼀个p元素
$(“p:last”)最后⼀个p元素
$(“#box”)id="box"的元素
$(“.intro.demo”)所有class="intro"且class="demo"的元素
$(“p.intro”)选取class为intro的p元素
$(“ulli:first”)选取第⼀个ul元素的第⼀个li元素
$(“:input”)所有input元素
$(“:text”)所有type="text"的input元素
$(“:checkbox”)所有type="checkbox"的input元素

2.5 JQuery事件

JS要构建动态页面,就需要感知到用户的行为.
用户对于页面的⼀些操作(点击,选择,修改等)操作都会在浏览器中产⽣⼀个个事件,被JS获取到,从而进⾏更复杂的交互操作.
常见的事件有:

事件代码
⽂档就绪事件(完成加载)$(document).ready(function)
点击事件$(selector).click(function)
双击事件$(selector).dblclick(function)
元素的值发⽣改变$(selector).change(function)
⿏标悬停事件$(selector).mouseover(function)

2.6 操作元素

2.6.1 获取/设置元素内容

三个简单的获取元素内容的JQuery⽅法

JQuery⽅法说明
text()设置或返回所选元素的⽂本内容
html()设置或返回所选元素的内容(包括HTML标签)
val()设置或返回表单字段的值

这三个方法即可以获取元素的内容,可以设置元素的内容.
有参数时,就进行元素的值设置,没有参数时,就进行元素内容的获取
代码示例:

2.6.2 获取元素
<div id="test"><span>你好</span></div>
<input type="text" value="hello"><script>$(document).ready(function () {var html = $("#test").html();console.log("html内容为:"+html);var text = $("#test").text();console.log("⽂本内容为:"+text);var inputVal = $("input").val();console.log(inputVal);});
</script>
2.6.3 设置元素
<div id="test"></div>
<div id="test2"></div>
<input type="text" value=""><script>$(document).ready(function () {$("#test").html('<h1>设置html</h1>');$("#test2").text('<h1>设置text</h1>');$("input").val("设置内容");});
</script>

2.7 添加元素

添加HTML内容

  1. append():在被选元素的结尾插入内容
  2. prepend():在被选元素的开头插入内容
  3. after():在被选元素之后插入内容
  4. before():在被选元素之前插入内容

代码示例:

<ol><li>List item 1</li><li>List item 2</li><li>List item 3</li>
</ol><img src="pic/rose.jpg"><script>$(function () {$("ol").append("<li>append</li>");$("ol").prepend("<li>prepend</li>");$("img").before("图⽚前插⼊");$("img").after("图⽚后插⼊");});
</script>

2.8 删除元素

删除元素和内容,⼀般使用以下两个jQuery方法:

  1. remove():删除被选元素(及其子元素)
  2. empty():删除被选元素的子元素。

代码示例:

<div id="div1">我是⼀个div</div><button>删除 div 元素</button>
<script>$(function () {$('button').click(function(){$('#div1').remove();});});
</script>

三.项目实现:表白墙

预期效果在这里插入图片描述
需求:按要求在文本框中输入内容,点击提交按钮,输入内容显示在页面下方.
代码实现

  1. 提前准备如下HTML和CSS代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.container {width: 400px;margin: 0 auto;}h1 {text-align: center;padding: 20px 0;}p {color: #666;text-align: center;font-size: 14px;padding: 10px 0;}.row {height: 40px;display: flex;justify-content: center;align-items: center;}span {width: 100px;line-height: 40px;}.edit {width: 200px;height: 30px;}.submit {width: 304px;height: 40px;color: white;background-color: orange;border: none;}</style>
</head><body><div class="container"><h1>表⽩墙</h1><p>输⼊后点击提交, 会将信息显⽰在表格中</p><div class="row"><span>: </span><input class="edit" type="text"></div><div class="row"><span>对谁: </span><input class="edit" type="text"></div><div class="row"><span>说什么: </span><input class="edit" type="text"></div><div class="row"><input type="button" value="提交" class="submit"></div></div>
</body></html>
  1. 实现提交
 $(function () {// 给点击按钮注册点击事件$(".submit").click(function () {// 1. 获取到编辑框内容var from = $('.edit:eq(0)').val();var to = $('.edit:eq(1)').val();var message = $('.edit:eq(2)').val();console.log(from + "," + to + "," + message);if (from == '' || to == '' || message == '') {return;}// 2. 构造 html 元素var html = '<div class="row">' + from + '对' + to + '说: ' + message +'</div>';// 3. 把构造好的元素添加进去$('.container').append(html);// 4. 同时清理之前输⼊框的内容$(":text").val("");});});

总结:

  1. HTML是⼀种超文本标记语言,主要用于页面内容的显示和排版.如果需要更漂亮的样式展示和页面
    效果,需要搭配CSS和JavaScript来使用
  2. 学习HTML主要是学习标签,HTML的标签特别多,了解基本语法即可
  3. CSS重点是学习CSS的选择器使用
  4. JavaScript是⼀个脚本语言,和Java没有关系.JQuery是⼀个JavaScript框架,使用JQuery可以轻松地选择和操作HTML元素,提高我们的开发效率.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑桌面记事本便签软件,电脑记事本app

在快节奏的生活和工作中&#xff0c;我们时常需要记录一些待办事项、重要信息或是灵光一现的创意。这时&#xff0c;一款好用的电脑桌面记事本便签软件显得尤为重要。今天&#xff0c;我要为大家推荐的这款电脑桌面记事本便签软件&#xff0c;就是集齐简单、实用、高效于一身的…

MySQL高阶语句(一)

一、常用查询 &#xff08;增、删、改、查&#xff09; 对 MySQL 数据库的查询&#xff0c;除了基本的查询外&#xff0c;有时候需要对查询的结果集进行处理。 例如只取 10 条数据、对查询结果进行排序或分组等等 1、按关键字排序 PS:类比于windows 任务管理器 使用 SELECT 语…

STM32之HAL开发——DMA转运串口数据

DMA功能框图&#xff08;F1系列&#xff09; 如果外设要想通过 DMA 来传输数据&#xff0c;必须先给 DMA 控制器发送 DMA 请求&#xff0c; DMA 收到请求信号之后&#xff0c;控制器会给外设一个应答信号&#xff0c;当外设应答后且 DMA 控制器收到应答信号之后&#xff0c;就会…

动听的洗牌游戏(Java篇ArrayList实操)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

鸿蒙OS开发实例:【demo选择列表限定数量】

效果图&#xff1a; 示例代码 // 使用 DevEco Studio 3.1.1 Release 及以上版本&#xff0c;API 版本为 api 9 及以上。 // 主要功能及注意事项&#xff1a; // 该组件展示了一个乘客选择列表。列表中的每个项目包含一个复选框和对应的乘客姓名&#xff0c; // 用户点击任意一…

ubuntu20.04云服务器安装LXDE轻量级桌面和XRDP远程连接工具

云服务器一般都是安装命令行系统&#xff0c;用SSH连接&#xff0c;但是有时我们需要桌面来做更好的管理。 首先我们明确一下需要的东西。 一个桌面系统&#xff1a;LXDE&#xff08;最轻量级桌面&#xff09;&#xff0c;为了节省资源&#xff0c;我们只要功能够用就行。一个…

Java 编程中有哪些常见的数据结构和算法?

数据结构&#xff1a; 1. 数组 (Array)&#xff1a;是最基础且使用广泛的数据结构&#xff0c;可以存储固定大小的同类型元素序列。 2. 链表 (Linked List)&#xff1a;由一系列节点组成&#xff0c;每个节点包含对下一个节点的引用&#xff0c;适合频繁的插入和删除操作。 …

centos创建svn库步骤

1.切换root用户 1、设置root用户的密码&#xff1a; sudo passwd root 2、切换到root用户权限 su 3、切换回个人用户权限 exit 2.用root用户执行yum install -y subversion 3.创建文件夹mkdir -p /data/svn/repository 4.创建SVN 版本库 5.输入命令&#xff1a; svnadmin creat…

网络编程(1)写一个简单的UDP网络通信程序【回显服务器】,并且实现一个简单的翻译功能

使用 JAVA 自带的api 目录 一、回显服务器 UdpEchoServer 服务器代码 客户端代码 二、翻译功能 UdpDictServer 在UdpDictServer里重写process方法 一、回显服务器 UdpEchoServer /*** 回显服务器* 写一个简单的UDP的客户端/服务器 通信的程序* 这个程序没有啥业务逻辑&am…

RHCE实验-建立NFS服务器,使的客户端顺序共享数据

第一步&#xff1a;服务端及客户端的准备工作 # 恢复快照[rootserver ~]# setenforce 0​[rootserver ~]# systemctl stop firewalld​[rootserver ~]# yum install nfs-utils -y # 服务端及客户端都安装 第二步&#xff1a;服务端建立共享文件目录&#xff0c;并设置权限…

CentOS Stream 8系统配置阿里云YUM源

Linux运维工具-ywtool 目录 一.系统环境二.修改yum文件2.1 CentOS-Stream-AppStream.repo2.2 CentOS-Stream-BaseOS.repo2.3 CentOS-Stream-Extras.repo 三.只有一个配置文件四.其他知识4.1 如果想要启用其他源,修改文件配置:enabled14.2 国内源链接 一.系统环境 CentOS Strea…

Spire.PDF for .NET【文档操作】演示:查找并删除 PDF 中的空白页

PDF 中的空白页并不罕见&#xff0c;因为它们可能是作者故意留下的或在操作文档时意外添加的。当您阅读或打印文档时&#xff0c;这些空白页可能会很烦人&#xff0c;因此可能非常有必要将其删除。在本文中&#xff0c;您将了解如何使用Spire.PDF for .NET以编程方式查找和删除…

jupyter lab使用虚拟环境

python -m ipykernel install --name 虚拟环境名 --display-name 虚拟环境名然后再启动jupyter lab就行了

pandas 函数

pandas是基于numpy数组构建的&#xff0c;但二者最大的不同是pandas是专门为处理表格和混杂数据设计的&#xff0c;比较契合统计分析中的表结构&#xff0c;而numpy更适合处理统一的数值数组数据。pandas数组结构有一维Series和二维DataFrame。 Series的字符串表现形式为&#…

STM32学习笔记(6_8)- TIM定时器的编码器接口代码

无人问津也好&#xff0c;技不如人也罢&#xff0c;都应静下心来&#xff0c;去做该做的事。 最近在学STM32&#xff0c;所以也开贴记录一下主要内容&#xff0c;省的过目即忘。视频教程为江科大&#xff08;改名江协科技&#xff09;&#xff0c;网站jiangxiekeji.com 现在开…

低代码平台与自动化软件开发的关系

引言 随着信息技术的不断发展&#xff0c;软件开发领域也在不断演进。在追求更高效、更快速的软件开发过程中&#xff0c;低代码平台和自动化软件开发技术日益受到关注。低代码平台以其可视化开发界面和快速构建应用的能力&#xff0c;为非专业开发人员提供了参与软件开发的机会…

有内置泵电源垂直输出电路,偏转电流可达1.7Ap-pp,可用于中小型显示器的国产芯片 78040

78040是一款场扫描电路&#xff0c;偏转电流可达1.7Ap-p&#xff0c;可用于中小型显示器。 二 特 点 1、有内置泵电源 2、垂直输出电路 3、热保护电路 4、偏转电流可达1.7Ap-p 三 基本参数 四 应用电路图 1、应用线路 2、PIN5脚输出波形如下&#xff1a;

windows允许指定IP段访问本地端口

虚拟机内部应用有时候需要访问windows的一些端口&#xff0c;例如数据库或Redis等&#xff0c;默认情况下&#xff0c;需关闭windows上的防火墙才可正常访问。本文通过在防火墙设置允许指定IP段进行访问来处理&#xff0c;不用每次操作都关闭防火墙。 入站规则-》新建规则 完成…

【jenkins+cmake+svn管理c++项目】Windows环境安装以及工具配置

一、目标和环境 目标&#xff1a;搭建一个jenkins环境&#xff0c;实现jenkins调用cmake和svn和VS编译c项目&#xff0c;并将生成的库上传svn。 环境&#xff1a;win10虚拟机&#xff08;练习流程用&#xff0c;正式用的话还是放到服务器&#xff09;&#xff0c;VS2017. 二、…

linux忘记mysql的root密码,强制修改

1、登录linux后编辑mysql的配置文件&#xff1a;vi /etc/my.cnf 2、添加如下代码&#xff0c;表示跳过授权表登录mysql 编辑完成后&#xff0c;按Esc键&#xff0c;":wq"退出编辑并保存修改内容。 3、使用命令&#xff1a;service mysqld restart 重启mysql服务. …