JavaWeb JavaScript ① JS简介

目录

一、HTML&CSS&JavaScript的作用

二、前后端关联标签——表单标签

1.form标签

2.input标签

3.get/post提交的差异

4.表单项标签

5.布局相关标签

块元素——div

行内元素——span

三、CSS

1.CSS引入方式

方式1 行内式

方式2 内嵌式

方式3 外部样式表

2.CSS选择器

元素选择器

id选择器

class选择器

3.CSS浮动

4.CSS定位

position 属性指定了元素的定位类型。

5.CSS盒子模型

① margin        

② padding        

四、JS简介

1.JS起源

2.JS特点

① 脚本语言

② 基于对象

③ 弱类型

④ 事件驱动

⑤ 跨平台性

3.JS的引入方式

① 外部引入:

② 内部引入:

③ 异步引入:

④ defer引入:

4.注意:

5.JS中的函数

① JS如何声明函数

② 函数如何和单击按钮的行为绑定在一起?  

③ 如何弹窗提示 函数里用alert()

④ 推荐js代码放在head中


逆转时间的公式,就是珍惜当下

                                      —— 24.7.19

一、HTML&CSS&JavaScript的作用

HTML:主要用于网页主体结构的搭建

CSS:主要用于页面元素美化

JavaScript:主要用于页面元素的动态处理

HTML与CSS较为简单且已在其他的作品进行过学习,这里只进行对应的补充

详情看前端专栏:http://t.csdnimg.cn/tJnPB

二、前后端关联标签——表单标签

        表单标签,可以实现让用户在界面上输入各种信息并提交的一种标签,是向服务端发送数据主要的方式之一

1.form标签

表单标签,其内部用于定义让用户输入信息的表单项标签

        action,form标签的属性之一,用于定义信息提交的服务器地址

                ① url

                ② 相对路径

                ③ 绝对路径

        method,form标签的属性之一,用于定义信息的提交方式

                ① get:get方式,数据会以键值对形式缀到url后,以?作为参数开始的标识,多个参数用&隔开;数据直接暴露在地址栏上,相对不安全;地址栏在不同浏览器上有长度限制,所以提交的数据量不大;地址栏上只能是字符,不能提交文件

                ② post:post方式,数据默认会通过请求体发送,不会缀到url后;数据不会直接暴露在地址栏上,相对安全;数据是单独打包通过请求体发送,提交的数据量比较大;请求体中,可以是字符也可以是文件;相比于get,效率略低一些

                ③ put

                ④ delete

2.input标签

主要的表单项标签,可以用于定义表单项

        name,input标签的属性之一,用于定义提交的参数名。

        type,input标签的属性之一,用于定义表单项类型
                ① text 文本框
                ② password 密码框
                ③ submit 提交按钮
                ④ reset重置按钮

        注:表单标签通过表单项标签向后端提交数据,

                表单项标签一定要定义name属性,该属性用于明确提交时的参数名

                表单项还需要定义value属性,该属性用于明确提交时的实参

<!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><form action="welcome.html" method="get"><!-- 添加表单项标签 用户输入信息的标签 -->用户名:<input type="text" name="username" value="张三"> <br>密码:<input type="password" name="userPWD"> <br>邮箱:<input type="email"> <br><input type="submit" value="登录"><input type="reset" value="清空"></form>
</body>
</html>

3.get/post提交的差异

        get:① get方式,数据会以键值对形式缀到url后,以?作为参数开始的标识,多个参数用&隔开;② 数据直接暴露在地址栏上,相对不安全;③ 地址栏在不同浏览器上有长度限制,所以提交的数据量不大;④ 地址栏上只能是字符,不能提交文件;⑤ 相比于post方式效率较高一些

        post:① post方式,数据默认会通过请求体发送,默认不会缀到url后;② 数据不会直接暴露在地址栏上,相对安全;③ 数据是单独打包通过请求体发送,提交的数据量比较大;④ 请求体中,可以是字符也可以是文件;⑤ 相比于get,效率略低一些

4.表单项标签

表单项标签一定要定义name属性,该属性用于明确提交时的参数名

表单项还需要定义value属性,该属性用于明确提交的时的实参

input

        type 输入信息的表单项类型

                text        单行普通文本框

                password        密码框

                submit        提交按钮

                reset        重置按钮

                radio        单选框        多个选项选其一,多个单选框使用相同的name属性值,则会有互斥效果

                checkbox        复选框多个选项选多个        checked属性,默认选中

                hidden        隐藏域        不显示在页面上,提交时会携带

                file        文件上传框

        textarea        文本域        多行文本框

        select        下拉框

                option        选项

<!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><form action="welcome.html" method="get"><!-- 添加表单项标签 用户输入信息的标签 --><!-- 希望用提交一些特定的信息,但是考虑安全问题或者是用户操作问题,不希望该数据发生改变 --><input type="hidden" name="id" value="123"><input type="text" name="pid" value="456" readonly> <br><!-- readonly属性,使得用户无法修改该输入框的值,只读且携带,disabled不携带 --><input type="text" name="pid" value="789" disabled> <br>用户名:<input type="text" name="username" value="张三"> <br>密码:<input type="password" name="userPWD"> <br>邮箱:<input type="email"> <br><!-- 单选框 type=“radio” checked属性,默认勾选 -->性别:<input type="radio" name="gender" value="male" checked> 男<input type="radio" name="gender" value="female"> 女 <br>爱好:<input type="checkbox" name="hobby" value="reading"> 读书<input type="checkbox" name="hobby" value="swimming"> 游泳<input type="checkbox" name="hobby" value="running"> 跑步<input type="checkbox" name="hobby" value="traveling"> 旅行<br>个人简介:<textarea name="intro" style="width: 300px;height: 100px;"></textarea><br>籍贯:<select name="province"><option>鲁</option><option>沪</option><option value="1">青</option><option value="0" selected>请选择</option></select><br>选择头像:<input type="file"><input type="submit" value="登录"><input type="reset" value="清空"> <br></form>
</body>
</html>

5.布局相关标签

元素——div

块元素:自己独占一行的元素,块元素的CSS样式宽、高等,往往都是生效的

内元素——span

行内元素:不会自己独占一行的元素,行内的CSS样式的宽、高等等,很多都是不生效的

三、CSS

1.CSS引入方式

方式1 行内式

通过元素的style属性引入样式

语法:style="样式名:样式值;样式名:样式值;... ...

缺点:① 代码复用度低 不利于维护 ② css样式代码和html结构代码交织在一起,影响阅读,影响文件大小,影响性能

方式2 内嵌式

通过在head标签中的style标签定义本页面的公共样式,通过选择器确定样式的作用元素

方式3 外部样式表

将css代码单独放入一个.css文件中,哪个html需要这些代码,就在head中通过link标签引入

<link href="css/btn.css" rel="stylesheet">

2.CSS选择器

元素选择器

根据标签的名字确定样式的作用元素

语法:标签名{}

缺点:某些同名的元素不希望使用某些样式,某些不同名的元素也使用该样式,都无法协调

id选择器

根据标签的id值确定样式的作用元素

语法:#id值{}

缺点:id值具有唯一性,样式只能作用到一个元素上

一般每个元素都有id属性,但是在一个页面中,id的值不应该相同,id具有唯一性

class选择器

语法:.class属性值

根据元素的class属性值确定样式的作用元素

元素的class属性值可以重复,而且同一个元素的class属性可以有多个值

3.CSS浮动

CSS 的 Float(浮动)使元素脱离文档流,按照指定的方向(左或右发生移动),直到它的外边缘碰到包含框或另一个浮动框的边框为止

浮动设计的初衷为了解决文字环绕图片问题,浮动后一定不会将文字挡住,这是设计初衷。

文档流是是文档中可显示对象在排列时所占用的位置/空间,而脱离文档流就是在页面中不占位置

4.CSS定位

position 属性指定了元素的定位类型。

这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型,相对定位元素会相对于它在正常流中的默认位置偏移。

元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定position属性。他们也有不同的工作方式,这取决于定位方法。

① absolute        生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位(根据页面的边缘进行定位,脱离文档流,原位置被其它元素继续占用),元素的位置通过“left”、“top”、“right”、“bottom”属性进行规定

② fixed        生成相对定位的元素,相对于浏览器窗口进行定位(滑动页面不会改变),元素的位置通过“left”、“top”、“right”、“bottom”属性进行规定

③ relative        生成相对定位的元素,相对于其原本的位置进行定位,因此,“left:20”会向元素的left位置添加20像素

④ static        默认值,没有定位,元素出现在正常的流中(忽略top,bottom,left,right或z-index声明)

5.CSS盒子模型

所有HTML元素可以看作盒子,在CSS中,"box model”这一术语是用来设计和布局时使用

① margin        

外边距        top 上 right 右 bottem 下 left 左 auto 居中

② padding        

内边距        top 上 right 右 bottem 下 left 左 

四、JS简介

1.JS起源

JavaScript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的 客户端脚本语言,主要目的是为了解决服务器端语言遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了JavaScript,提供了数据验证的基本功能。ECMA-262是正式的JavaScript标准,这个标准基于 JavaScript (Netscape)和JScript(Microsoft),ECMA-262 的开发始于1996年,在1997年7月,ECMA会员大会采纳了它的首个版本。这个标准由 ECMA组织发展和维护,JavaScript的正式名称是"ECMAScript"。JavaScript的组成包含ECMAScript、DOM、BOM。JS是一种运行于浏览器端上的小脚本语句,可以实现网页如文本内容动、数据动态变化和动画特效等

2.JS特点

① 脚本语言

JavaScript是一种解释型的脚本语言。不同于C、C++、Java等语言先编译后执行,JavaScript不会产生编译出来的字节码文件,而是在程序的运行过程中对源文件逐行进行解释。

② 基于对象

JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。但是面向对象的三大特性:[封装]、[继承]「多态]中,JavaScript能够实现封装,可以模拟继承,不支持多态,所以它不是一门面向对象的编程语言。

③ 弱类型

JavaScript中也有明确的数据类型,但是声明一个变量后它可以接收任何类型的数据,并目会在程序执行过程中根据上下文自动转换类型

④ 事件驱动

JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。

⑤ 跨平台性

JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个Javascript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持JavaScript脚本语言。目前JavaScript已被大多数的浏览器所支持。

3.JS的引入方式

① 外部引入:

在HTML文件中通过<script>标签引入外部JS文件,并在head标签中指定src属性

如:<script src="js文件路径"></script>

② 内部引入:

在HTML文件中通过<script>标签直接在标签中编写JS代码,并在head标签中指定type属性为"text/javaScript"

如:<script type="text/javascript">...</script>

③ 异步引入:

在HTML文件中通过<script>标签引入外部JS文件,并在标签中指定src属性,同时在head标签中添加async属性

如:<script src="js文件路径" async></script>

④ defer引入:

在HTML文件中通过<script>标签引入外部JS文件,并在标签中指定src属性,同时在head标签中添加defer属性

如:<script src="js文件路径" defer></script>

4.注意:

① 一个html中可以有多个script标签
② 一对script标签不能在引入外部js文件的同时定义内部脚本
③ script标签如果用于引入外部js文件,中间最好不要有任何字符 包括空格和换行

5.JS中的函数

① JS如何声明函数

function 函数名(参数列表){

        函数体;

}

② 函数如何和单击按钮的行为绑定在一起?  

onclick单击属性 / ondblclick双击属性

③ 如何弹窗提示 函数里用alert()

在函数里定义提示

④ 推荐js代码放在head中

function myFunction() {// 弹窗提示alert("Hello, Suprised!");}
<!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>.btn1 {width: 150px;height: 40px;font-style: 24px;font-family: '隶书';background-color: yellow;color:rgb(151,8,8);border: 3px solid rgb(151,8,8);border-radius: 3px;}</style><!-- JS引入方式:1. 外部引入:在HTML文件中通过<script>标签引入外部JS文件,并在head标签中指定src属性,如:<script src="js文件路径"></script>2. 内部引入:在HTML文件中通过<script>标签直接在标签中编写JS代码,并在head标签中指定type属性为"text/javascript",如:<script type="text/javascript">...</script>3. 异步引入:在HTML文件中通过<script>标签引入外部JS文件,并在标签中指定src属性,同时在head标签中添加async属性,如:<script src="js文件路径" async></script>4. defer引入:在HTML文件中通过<script>标签引入外部JS文件,并在标签中指定src属性,同时在head标签中添加defer属性,如:<script src="js文件路径" defer></script>--><!-- 内部引入 --><script>/*1.Js如何声明函数?function 函数名(参数列表){函数体;}2.函数如何和双击按钮的行为绑定在一起?  ondblclick属性3.如何弹窗提示在函数里用alert()4.推荐js代码放在head中*/function SayHello() {// 弹窗提示alert("Hello, JavaScript!");}</script><!-- 外部引入 --><script src="button.js" type="text/javascript"></script></head><body><button class="btn1" ondblclick="myFunction()">双击点我有惊喜</button><button class="btn1" onclick="SayHello()">点我弹窗</button>
</body>
</html>

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

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

相关文章

Zabbix监控介绍与部署

目 录 一、zabbix介绍和架构 1.1 zabbix介绍 1.2 为什么需要监控 1.3 需要监控什么 二、zabbix使用场景与系统概述 2.1 zabbix的功能 2.2 zabbix架构 2.3 Zabbix术语 三、编译安装zabbix 3.1 安装依赖环境 3.2 建立管理用户 3.3 准备源码包&#xff0c;解压包 3.…

封装网络请求 鸿蒙APP HarmonyOS ArkTS

一、效果展示 通过在页面直接调用 userLogin(params) 方法&#xff0c;获取登录令牌 二、申请网络权限 访问网络时候首先需要申请网络权限&#xff0c;需要修改 src/main 目录下的 module.json5 文件&#xff0c;加入 requestPermissions 属性&#xff0c;详见官方文档 【声明权…

鸿蒙 next 5.0 版本页面跳转传参 接受参数 ,,接受的时候 要先定义接受参数的类型, 代码可以直接CV使用 [教程]

1, 先看效果 2, 先准备好两个页面 index 页面 传递参数 import router from ohos.routerEntry Component struct Index {Statelist: string[] [星期一, 星期二,星期三, 星期四,星期五]StateactiveIndex: number 0build() {Row() {Column({ space: 10 }) {ForEach(this.list,…

【Git远程操作】向远程仓库推送 | 拉取远程仓库

目录 1.向远程仓库推送 ​1.1本地仓库的配置 1.2remote-gitcode本地仓库 1.3推送至远程仓库 2.拉取远程仓库 现阶段以下操作仅在master主分支上。 1.向远程仓库推送 工作区☞add☞暂存区☞commit☞本地仓库☞推送push☞远程仓库注意&#xff1a;本地仓库的某个分支 ☞推…

《Techporters架构搭建》-Day01 第一个RESTful API接口

微服务架构搭建 搭建微服务架构分析一下项目的build.gradle添加Demo接口 搭建微服务架构 首先搭建系统管理模块&#xff0c;模块结构如下 tps-cloud └── tps-system -- 系统管理模块└── tps-system-api -- 系统管理模块公共api模块└── tps-system-biz -- 系统管理模…

单片机设计_自行车码表(AT89C51, LCD1602, DS1302,霍尔传感器)

想要更多项目私wo!!! 一、电路设计 系统采用51单片机LCD1602液晶DS1302时钟模块霍尔传感器电机按键模块蜂鸣器报警模块设计而成。 产品自带单片机上电复位电路、手动复位电路&#xff08;复位按键&#xff09;、晶振电路&#xff08;给单片机提供时钟周期&#xff09;。 …

Zabbix介绍和架构

目录 一.Zabbix简介 1.为什么需要监控 2.需要监控什么 3.常见的监控工具 4.Zabbix使用场景及系统概述 5.Zabbix 架构 6.Zabbix工作流程 7.Zabbix 术语 二. 部署安装zabbix 三.zabbix 配置文件 一.Zabbix简介 1.为什么需要监控 运维行业有句话:“无监控、不运维”&am…

AGV平面坐标系变换公式及实例

1、AGV坐标系简介 如上图&#xff0c;小车前后对角是有激光雷达的&#xff0c;其坐标系称为激光坐标系&#xff0c;采用极坐标系体现。中间为车体坐标系&#xff0c;激光坐标系相对于车体坐标系关系不变&#xff1b;左下角是地图坐标系&#xff0c;小车扫图后&#xff0c;建立的…

探索智慧职校教职工管理的教师信息功能

在智慧职校的教职工管理体系中&#xff0c;教师信息管理犹如教师职业生涯的数字罗盘&#xff0c;引领着教师个人成长与学校教学质量的双轨并进。这一模块的核心精髓在于对教师基本信息的精细捕捉与维护&#xff0c;确保每位教师的个人资料&#xff0c;诸如姓名、性别、出生日期…

RK3588核心板怎么选?为项目挑选合适核心板的五大建议

在信息爆炸的互联网海洋中&#xff0c;面对琳琅满目的RK3588核心板产品&#xff0c;您是否也曾感到眼花缭乱&#xff0c;难以抉择&#xff1f;究竟哪一款能够完美契合您的智能设备开发项目&#xff0c;让您在最短时间内找到最合适的伙伴&#xff0c;减少研发试错&#xff0c;加…

Day58:并查集 108.冗余连接 109.冗余连接II

108. 冗余连接 时间限制&#xff1a;1.000S 空间限制&#xff1a;256MB 题目描述 树可以看成是一个图&#xff08;拥有 n 个节点和 n - 1 条边的连通无环无向图&#xff09;。 现给定一个拥有 n 个节点&#xff08;节点标号是从 1 到 n&#xff09;和 n 条边的连通无向图&…

wandb本地部署

pip install --upgrade wandbwandb server start&#xff08;如果失败了&#xff09; docker pull wandb/local:latest启动 docker run --rm -d -v wandb:/vol -p 8080:8080 --name wandb-local wandb/local:latest打开http://localhost:8080/signup &#xff08;有可能失败&…

LeetCode热题100刷题16:74. 搜索二维矩阵、33. 搜索旋转排序数组、153. 寻找旋转排序数组中的最小值、98. 验证二叉搜索树

74. 搜索二维矩阵 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int row matrix.size();int col matrix[0].size();for(int i0;i<row;i) {//先排除一下不存在的情况if(i>0&&matrix[i][0]>target…

Qt Style Sheets-入门

Qt 样式表是一种强大的机制&#xff0c;允许您自定义小部件的外观&#xff0c;这是在通过子类化QStyle已经可行的基础上的补充。Qt 样式表的概念、术语和语法在很大程度上受到 HTML级联样式表 (CSS)的启发&#xff0c;但适用于小部件的世界。 概述 样式表是文本规范&#xff0…

教室管理系统的开发与实现(Java+MySQL)

引言 教室管理系统是学校和培训机构日常运营中不可或缺的工具。本文将介绍如何使用Java、Swing GUI、MySQL和JDBC开发一个简单而有效的教室管理系统&#xff0c;并涵盖系统的登录认证、教室管理、查询、启用、暂停和排课管理功能。 技术栈介绍 Java&#xff1a;作为主要编程…

实战项目:仿muduo库实现并发服务器

目录 项目初始与项目演示HTTP服务器基础认识Reactor模式基础认识单Reactor单线程模式认识单Reactor多线程模式认识多Reactor多线程模式认识 目标定位总体大模块划分server模块的管理思想Buffer子模块Socket子模块Channel子模块Connection子模块Acceptor子模块TimerQueue子模块P…

FinClip 率先入驻 AWS Marketplace,加速全球市场布局

近日&#xff0c;凡泰极客旗下的小程序数字管理平台 FinClip 已成功上线亚马逊云科技&#xff08;AWS&#xff09;Marketplace。未来&#xff0c;FinClip 将主要服务于海外市场的开放银行、超级钱包、财富管理、社交电商、智慧城市解决方案等领域。 在全球市场的多样性需求推动…

免费视频批量横转竖

简介 视频处理器 v1.3 是一款由是貔貅呀开发的视频编辑和处理工具&#xff0c;提供高效便捷的视频批量横转竖&#xff0c;主要功能&#xff1a; 导入与删除文件&#xff1a;轻松导入多个视频文件&#xff0c;删除不必要的文件。暂停与继续处理&#xff1a;随时暂停和继续处理。…

快速了解死锁及如何解决死锁问题

目录 什么是死锁&#xff1f; 死锁代码示例 产生死锁的条件&#xff1a; 死锁的危害&#xff1a; 如何解决死锁问题&#xff1f; 1、预防死锁&#xff08;破坏上述4个产生死锁的条件&#xff09;&#xff1a; 2、银行家算法 3、死锁的检测、解除 4、采用超时机制 什么…

JMeter介绍、安装配置以及快速入门

文章目录 1. JMeter简介2. JMeter安装配置3. JMeter快速入门 1. JMeter简介 Apache JMeter是一款开源的压力测试工具&#xff0c;主要用于测试静态和动态资源&#xff08;如静态文件、服务器、数据库、FTP服务器等&#xff09;的性能。它最初是为测试Web应用而设计的&#xff…