JavaWeb JavaScript ① JS简介

news2024/9/20 18:44:58

目录

一、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.coloradmin.cn/o/1937073.html

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

相关文章

AWS Certified Developer Associate备考笔记

AWS Certified Developer Associate备考笔记 缓慢更新中&#xff0c;如果你也正在关注该考试&#xff0c;请点赞后评论感兴趣的章节&#xff0c;可加快我的更新速度 &#x1f603; 文章目录 AWS Certified Developer Associate备考笔记一、IAM二、EC2三、EC2 Instance Storage…

Spring Boot项目中使用MyBatis Generator (MBG) 自动生成Mapper文件

Spring Boot项目中使用MyBatis Generator (MBG) 自动生成Mapper文件可以很大程度上减少编码。本文着重介绍如何在实战中使用MGB自动生成Mapper文件 1. 添加MyBatis Generator依赖 在pom.xml中添加必要的依赖 <dependency><groupId>org.mybatis.spring.boot</…

【Python系列】Python 中的文件读取

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

秒懂设计模式--学习笔记(11)【结构型-享元模式】

目录 10、享元模式10.1 享元模式10.2 举例10.2.1 马赛克10.2.2 游戏地图&#xff08;以草原地图作为范例&#xff09; 10.3 总结 10、享元模式 10.1 享元模式 “享元”则是共享元件的意思享元模式的英文flyweight是轻量级的意思&#xff0c;这就意味着享元模式能使程序变得更…

Training for Stable Diffusion

Training for Stable Diffusion 笔记来源&#xff1a; 1.Denoising Diffusion Probabilistic Models 2.最大似然估计(Maximum likelihood estimation) 3.Understanding Maximum Likelihood Estimation 4.How to Solve ‘CUDA out of memory’ in PyTorch 1.1 Introduction 训…

FastBee物联网开源项目本地启动调试

一、本地环境准备 &#xff08;1&#xff09;Visual Studio Code&#xff08;启动前端项目&#xff09; &#xff08;2&#xff09;IntelliJ IDEA Community Edition &#xff08;启动后端项目&#xff09; &#xff08;3&#xff09;Navicat或者DBeaver&#xff08;用来操…

Godot学习笔记2——GDScript变量与函数

目录 一、代码编写界面 二、变量 三、函数 四、变量的类型 Godot使用的编程语言是GDS&#xff0c;语法上与python有些类似。 一、代码编写界面 在新建的Godot项目中&#xff0c;点击“创建根节点”中的“其他节点”&#xff0c;选择“Node”。 点击场景界面右上角的绿色…

【STM32】按键控制LED光敏传感器控制蜂鸣器(江科大)

一、按键控制LED LED.c #include "stm32f10x.h" // Device header/*** 函 数&#xff1a;LED初始化* 参 数&#xff1a;无* 返 回 值&#xff1a;无*/ void LED_Init(void) {/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENAB…

此扩展在此工作区中被禁用,因为其被定义为在远程扩展主机中运行。

使用VScode打开代码时&#xff0c;无法跳转函数&#xff0c;不提示报错。 安装python时显示&#xff0c; 此扩展在此工作区中被禁用&#xff0c;因为其被定义为在远程扩展主机中运行。 解决方法&#xff1a; CtrlShiftP &#xff1a;键入trust &#xff0c;工作区&#xff…

空间计算新时代:Vision Pro引领AR/VR/MR市场变革

随着2024年第二季度的结束&#xff0c;空间计算领域的市场动态愈发引人关注。根据国际数据公司&#xff08;IDC&#xff09;的最新报告&#xff0c;我们见证了行业格局的重大变化&#xff0c;尤其是苹果Vision Pro的突出表现&#xff0c;以及AR/VR/MR设备市场的整体趋势。以下是…

LabVIEW软件开发的雷区在哪里?

在LabVIEW软件开发中&#xff0c;有几个需要注意的雷区&#xff0c;以避免常见的错误和提高开发效率&#xff1a; 1. 不良的代码结构 雷区&#xff1a;混乱的代码结构和不清晰的程序逻辑。 后果&#xff1a;导致难以维护和调试的代码&#xff0c;增加了错误和故障的风险。 …

无人机侦察:二维机扫雷达探测设备技术详解

二维机扫雷达探测设备采用机械扫描方式&#xff0c;通过天线在水平方向和垂直方向上的转动&#xff0c;实现对目标空域的全方位扫描。雷达发射机发射电磁波信号&#xff0c;遇到目标后产生反射&#xff0c;反射信号被雷达接收机接收并处理&#xff0c;进而得到目标的位置、速度…

搜维尔科技:【研究】动作捕捉加速游戏开发行业的发展

动作捕捉加速游戏开发行业的发展 Sunjata 的故事始于 2004 年&#xff0c;它将席卷乌干达视频游戏行业&#xff0c;然后席卷全世界。但首先&#xff0c;Klan Of The Kings 的小团队需要工具来实现他们的愿景。 漫画家兼非洲民间传说爱好者罗纳德卡伊马 (Ronald Kayima) 在将…

怎样在 PostgreSQL 中进行用户权限的精细管理?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 怎样在 PostgreSQL 中进行用户权限的精细管理&#xff1f;一、权限管理的重要性二、PostgreSQL 中的权…

[解决方法]Request failed with status code 500错误之一

在写项目时访问后端api时我的axios拦截器进入了错误 然后去浏览器搜索&#xff0c;但是大部分都是因为axios参数或参数格式问题导致的&#xff0c;然而在访问api的编写没有任何问题&#xff0c;后来我反复检查&#xff0c;发现是我写前后端写混了&#xff0c;我把express的 Co…

学习大数据DAY20 Linux环境配置与Linux基本指令

目录 Linux 介绍 Linux 发行版 Linux 和 Windows 比较 Linux 就业方向&#xff1a; 下载 CentOS Linux 目录树 Linux 目录结构 作业 1 常用命令分类 文件目录类 作业 2 vim 编辑文件 作业 3 你问我第 19 天去哪了&#xff1f;第 19 天在汇报第一阶段的知识总结&#xff0c;没什…

深入浅出WebRTC—GCC

GoogCcNetworkController 是 GCC 的控制中心&#xff0c;它由 RtpTransportControllerSend 通过定时器和 TransportFeedback 来驱动。GoogCcNetworkController 不断更新内部各个组件的状态&#xff0c;并协调组件之间相互配合&#xff0c;向外输出目标码率等重要参数&#xff0…

汽车及零部件研发项目管理系统:一汽东机工选择奥博思 PowerProject 提升研发项目管理效率

在汽车行业中&#xff0c;汽车零部件的研发和生产是一个关键的环节。随着汽车市场的不断扩大和消费者需求的不断增加&#xff0c;汽车零部件项目管理的重要性日益凸显。通过有效的项目管理方法及利用先进的数字项目管理系统&#xff0c;可以大幅提高项目的成功率和顺利度&#…

WebRTC QOS方法十三.1(TimestampExtrapolator接收时间预估)

一、背景介绍 虽然我们可通过时间戳的差值和采样率计算出发送端视频帧的发送节奏&#xff0c;但是由于网络延迟、抖动、丢包&#xff0c;仅知道视频发送端的发送节奏是明显不够的。我们还需要评估出视频接收端的视频帧的接收节奏&#xff0c;然后进行适当平滑&#xff0c;保证…

关于 Qt输入法在arm特定的某些weston下出现调用崩溃 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140423667 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…