前端三剑客 —— JavaScript (第一节)

目录

回顾内容

        1.弹性布局

        2.网格布局

JavaScript

概述

发展

浏览器

什么是Javascript

JavaScript 能干什么

JavaScript需要的环境

JavaScript初体验

基本数据

JS书写方式

行内JS

页面JS

外部JS

1)创建外部JS文件

2)编写页面

对话框

警告框

确认框

输入框

关键字

变量

什么是变量

变量的作用

如何使用变量

变量的命名规范

回顾内容

        1.弹性布局

                a.开启弹性布局,display:flex

                b.设置主轴和侧轴,flex-direction:row/column

                c.设置主轴对齐方式,jusify-content:flex-start/flex-end/space-around/space-between

                d.设置侧轴对齐方式,align-item:center/start/end

                e.设置是否换行,flex-wrap:nowrap/wrap

        2.网格布局

                a.开启网络布局,display:grid

                b.设置列数,grid-template-columns

                c.设置行数,grid-tempate-rows

                d.设置单元格间距,grid-gap

                e.设置跨行,跨列,grid-row-start/grid-row-end/grid-column-start/grid-column-end

JavaScript

概述

它的出现的目的是为了解决用户的体验

1995年,上网 >>拨号上网 >>表单提交 >>为了提交用户体验,就出现javascript这个语言,它在客户端提交数据之前先验证,然后验证通过后再提交。

好处:

        1.提高了用户体验

        2.减少服务器端的压力

发展

1.在1992年,Nombas公司发明一个叫 C-- 嵌入式的脚本语言。后来更名为ScriptEase

2.在1995年,网景公司发明了一个liveScript脚本语言,由于1995年java这门语言非常火,而livescript这个脚本才出来,所以用的人不多。为了让这个语言有更多的人知道并使用,所以它和java语言进行合作,所以就叫做Javascript。

3.微软看到别的公司发明了脚本,它自己也开发一个脚本JScript

4.这样就导致三足鼎立的局面,这样就让开发者很痛苦。为了减少开发者的开发难度,出现了一个叫 ECMscript 的组织。这个组织进行了脚本规范。

浏览器

由于JavaScript这么脚本语言的运行环境就是浏览器,所以这里需要介绍一下它。

1.第一次浏览器大战在1994年,这个时候微软已经在它的操作系统中集成了IE浏览器,大家都做IE浏览器。

2.第二次浏览器大战是在2002年,发明了一个叫火狐的浏览器,它在开始支持这个规范。

3.后来又出现opera、google。

什么是Javascript

首先它是一门语言

而且它是一门脚本语言

而且它是一门弱类型的语言

它还是一门面向对象的语言

它的作用是为了提高用户的体验,对于安全性来说就不重要。

JavaScript 能干什么

1.可以进行数据校验

2.网页特效

3.数据交互

JavaScript需要的环境

1.有开发环境:操作系统、开发工具

2.有运行环境:浏览器

JavaScript初体验

我们来缩写一个非常简单的JavaScript代码,来感受一下。

说明:

1.JS程序需要有浏览器的支持

2.它需要放到网页中

3.JavaScript代码需要编写在script标签中

4.每一行后面用分号结束,从ES6(ECMScript 6规范)开始,分号可以省略

基本数据

JS书写方式

在JS中也有三种书写方式:

--- 行内JS、页面JS、外部JS

行内JS

我们在HTML标签上使用JS代码的方式叫做行内JS,它一般用于触发某种操作,例如点击事件

页面JS

页面JS就是我们前面的第一个简单入门代码,它需要在页面中通过Script标签中书写代码。

对于页面JS,我们可以书写在head标签内,也可以写在body标签内,那么,我们以后在工作中,到底是哪里好?

推荐书写在</body>标签之前。

外部JS

外部的JS书写方式是:先创建一个目录来存放JS代码,然后创建一个文件,这个文件的后缀必须是 .js 然后在这个文件中书写JS相关代码

注意:在这个文件中不要加script标签!!!!!!

1)创建外部JS文件

2)编写页面

在这个页面中,通过script标签中的src属性来指定外部的JS所在的路径。

对话框

在Javascript(后面我就统一叫JS这个简称)主要提供了三种对话框:警告框、确认框、输入框

警告框

警告框是在JS中一般用于调试程序时所使用的,主要目的是为了输出调试结果也可以用于警告信息

使用alert来弹出警告框,它里面需要给警告的内容。

确认框

确认框一般用于我们在做删除操作时为了避免用户误操作,我们通过在用户删除数据时,给他一个确认提示。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>确认框</title>

    <style>

        table {

            width: 500px;

            border-left: 1px solid #999999;

            border-top: 1px solid #999999;

            border-collapse: collapse;

        }

        th, td {

            border-right: 1px solid #999999;

            border-bottom: 1px solid #999999;

        }

        td {

            text-align: center;

        }

    </style>

</head>

<body>

<table>

    <tr>

        <th>编号</th>

        <th>姓名</th>

        <th>操作</th>

    </tr>

    <tr>

        <td>1</td>

        <td>张三</td>

        <td><a href="javascript:confirm('你确定要删除么?删除后不能恢复!')">删除</a></td>

    </tr>

    <tr>

        <td>2</td>

        <td>李四</td>

        <td><a href="javascript:confirm('你确定要删除么?删除后不能恢复!')">删除</a></td>

    </tr>

</table>

</body>

</html>

说明:在上面的JS代码中,我们对齐进行说明:

1. <a href="javascript:confirm('')"></a>在HTML中,a标签的作用有两个:一个作瞄点;另一个就是做链接跳转的。在这里 JavaScript:这个前缀,目的是让浏览器在解析时,不要使用默认的解析方式来解析a标签,而是采用JS的语法来解析这个a标签

2.对于确认框,JS中提供的是confirm,这个确认框需要提供的确认信息。在弹出的确认框中有两个按键一个是确定,一个是取消。当点击取消后不会做任何操作;当点击确定后才会执行相关的操作其实这两个按钮返回的值就是一个布尔值:true和false

输入框

在与用户交互时,我们可以来接受用户的输入信息,此时就可以使用输入框

我们可以使用JS提供的prompt这个方法来实现接受用户输入的值

这个方法它有两个方法:第一个参数表示输入提示信息,第二个参数是默认值

关键字

由于JS是一种面向对象的脚本语言,他是一种编程语言,因此它就在一些具有特殊意义的单词,这个单词就是关键字。而关键字的特点是:

1)是单词 2)所有大小写字母。

在JS中提供了以下关键字。

注意:我们后续定义变量时不能直接使用这些关键字来进行定义。

注释

在HTML中,它的注释是:     <!-- 这是HTML的注释 -->

在CSS中,它的注释是:/* 这是CSS的注释 */

在Javascript中,它的注释有以下几种是:

变量

什么是变量

所谓变量,就是它的值会发生变化。即它的值不是固定不变的

从内存结构上来看,它会在内存中开辟一片空间来存储这个值。而这个空间中的内容会根据程序的运行过程中来发生变化的。

变量的作用

之所以要使用变量,是为了更换的空中我们程序,也更好来维护我们的程序。

如何使用变量

要使用变量,我们就需要知道使用变量的语法。在JS中定义变量的语法如下:

var | let | const 变量名称 = 值

语法说明:

1.var : 它是一个关键字,这个关键字是在JS出来时就已经存在了。它有弊端:它的作用域会自动提升。在ES6中已经不推荐使用了。

2.let  : 它是在ES6中规范定义新的关键字,用于声明一个变量

3.const : 它是在ES6规范中定义新的关键字,用于声明一个常量

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>声明变量</title>

</head>

<body>

<script>

    // 声明一个名为 name 的变量

    var name = '张三'

    console.log(name)

    name = '李四'

    console.log(name)

    // 使用 let 来声明一个变量名为 age

    let age = 18

    console.log(age)

    age = 20

    console.log(age)

    age = '哈哈,我改了'

    console.log(age)

    // 使用 const 来声明一个常量 country

    const country = '中国'

    console.log(country);

    // country = '美国'  // 当声明了常量,它的值不能再改变

    let gender

    gender = ''

    console.log(gender)

</script>

</body>

</html>

说明:

在JS中,定义变量的语法为:let | const | var 变量名称 = 值,也可以先声明变量,然后再给这个变量赋值

let | const | var 变量名称

变量名称 = 值

变量的命名规范

在JS中定义变量是需要有规范:

1.变量名只能由字母、数字、下划线和$符合组成(规则)

2.数字不能开头(规则)

3.变量名不能使用关键字和保留字(规则)

4.变量名称如果是多个单词组成,第一个单词的首字母小写,后面单词的首字母大写。如果是常量,则所有字母大写,多个单词之间使用下划线连接(规范)

5.方法名称如果是一个单词都小写,如果是多个单词则第一个单词的首字母小写,后面单词的首字母大写(规范)

6.类名如果是一个单词则首字母大写,多个单词则每个单词首字母大写(规范)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

类的函数成员(四):赋值函数

一.赋值函数是什么&#xff1f; 1.1 运算符的重载 运算符的重载实际是一种特殊的函数重载&#xff0c;必须定义一个函数&#xff0c;并告诉C编译器&#xff0c;当遇到该重载的运算符时调用此函数。这个函数叫做运算符重载函数&#xff0c;它通常为类的成员函数。 定义运算符重…

TCP 重传、滑动窗口、流量控制、拥塞控制(计算机网络)

重传机制 TCP 针对数据包丢失的情况&#xff0c;会用重传机制解决。 接下来说说常见的重传机制&#xff1a; 超时重传快速重传SACKD-SACK 超时重传 重传机制的其中一个方式&#xff0c;就是在发送数据时&#xff0c;设定一个定时器&#xff0c;当超过指定的时间后&#xff0c…

HarmonyOS实战开发-如何使用 geolocation 实现获取当前位置经纬度

介绍 本示例使用 geolocation 实现获取当前位置的经纬度,然后通过 http 将经纬度作为请求参数,获取到该经纬度所在的城市。通过 AlphabetIndexer 容器组件实现按逻辑结构快速定位容器显示区域。 效果预览 使用说明 1.进入主页,点击国内热门城市,配送地址会更新为选择的城…

javaScript 事件循环 Event Loop

一、前言 javaScript 是单线程的编程语言&#xff0c;只能同一时间内做一件事情&#xff0c;按照顺序来处理事件&#xff0c;但是在遇到异步事件的时候&#xff0c;js线程并没有阻塞&#xff0c;还会继续执行&#xff0c;这又是为什么呢&#xff1f; 二、基础知识 堆&#x…

vivado HDL 例化调试探测流程概述

HDL 例化调试探测流程概述 HDL 例化探测流程涉及在 HDL 设计源代码中直接手动自定义、例化和连接各种调试核组件。下表中显示了 Vivado 工具中此流程所支持的新调试核。 新的 ILA 核相比于传统 ILA v1.x 核具有以下 2 大优势 &#xff1a; • 可搭配集成的 Vivado Log…

FreeRTOS临界段代码保护和任务调度器的挂起与恢复学习

FreeRTOS临界段代码保护和任务调度器的挂起与恢复学习 临界段代码保护 所谓临界段代码保护就是指必须完成运行&#xff0c;不能被打断的代码段。比如需要严格按照时序除初始化的外设&#xff1a;IIC、SPI&#xff0c;再或者因为系统自身需求和用户需求。 FreeRTOS 在进入临界…

发型不满意试试开源AI换发型HairFastGAN;前OpenAI员工Karpathy1000纯C语言写完GPT-2

✨ 1: HairFastGAN 开源AI换发型 HairFastGAN 是一种先进的技术&#xff0c;专门设计用于在不同图片之间传输发型。这意味着如果你有一张人物的图片和另一张你喜欢的发型的图片&#xff0c;HairFastGAN 能够将你喜欢的那个发型复制到人物的头上&#xff0c;而且看起来非常自然…

强化学习MPC——(二)

本篇主要介绍马尔科夫决策&#xff08;MDP&#xff09;过程&#xff0c;在介绍MDP之前&#xff0c;还需要对MP&#xff0c;MRP过程进行分析。 什么是马尔科夫&#xff0c;说白了就是带遗忘性质&#xff0c;下一个状态S_t1仅与当前状态有关&#xff0c;而与之前的状态无关。 为…

深入浅出索引(上)

提到数据库索引&#xff0c;我想你并不陌生&#xff0c;在日常工作中会经常接触到。比如某一个 SQL 查询比较慢&#xff0c;分析完原因之后&#xff0c;你可能就会说“给某个字段加个索引吧”之类的解决方案。但到底什么是索引&#xff0c;索引又是如何工作的呢&#xff1f;今天…

NPW(监控片的)上---基础知识要点精讲

半导体的生产过程已经历经数十年的发展&#xff0c;其中主要有两个大的发展趋势&#xff0c;第一&#xff0c;晶圆尺寸越做越大&#xff0c;到目前已有超过70%的产能是12寸晶圆&#xff0c;不过18寸晶圆产业链推进缓慢&#xff1b;第二&#xff0c;电子器件的关键尺寸越做越小&…

【面试题】如何在级别用户中检查用户名是否存在?

前言 不知道大家有没有留意过&#xff0c;在使用一些app或者网站注册的时候&#xff0c;提示你用户名已经被占用了&#xff0c;比如我们熟知的《英雄联盟》有些人不知道取啥名字&#xff0c;干脆就叫“不知道取啥名”。 但是有这样困惑的可不止他一个&#xff0c;于是就出现了…

转圈游戏——快速幂

目录 题目 思路 代码 题目 思路 每个小朋友移动一次的位置为&#xff0c;移动 q 次的位置则为。那么题目要求移动 &#xff0c;最后的位置为 。 但 的范围是&#xff0c;而总的移动次数是 。时间复杂度是在&#xff0c;因此是一定不能硬算的&#xff0c;肯定会超时。那么该…

苍穹外卖——员工管理,分类管理

内容 新增员工(重点)员工分页查询(重点)启用禁用员工账号编辑员工(重点)导入分类模块功能代码**功能实现&#xff1a;**员工管理、菜品分类管理。 员工管理效果&#xff1a;菜品分类管理效果&#xff1a; 1.新增员工 1.1 需求分析设计 1.1.1产品原型 一般在做需求分析时&a…

【VUE】Vue3+Element Plus动态间距处理

目录 1. 动态间距调整1.1 效果演示1.2 代码演示 2. 固定间距2.1 效果演示2.2 代码演示 其他情况 1. 动态间距调整 1.1 效果演示 并行效果 并列效果 1.2 代码演示 <template><div style"margin-bottom: 15px">direction:<el-radio v-model"d…

知识图谱的实际应用案例分析

知识图谱的实际应用案例分析 一、引言 知识图谱的重要性 在如今这个数据驱动的时代&#xff0c;数据已经成为了新的石油&#xff0c;而知识图谱则是我们提炼这种石油的精炼厂。知识图谱&#xff0c;一种将现实世界中的实体以及这些实体之间的复杂关系进行结构化表示的技术&am…

HarmonyOS开发实例:【状态管理】

状态管理 ArkUI开发框架提供了多维度的状态管理机制&#xff0c;和UI相关联的数据&#xff0c;不仅可以在组件内使用&#xff0c;还可以在不同组件层级间传递&#xff0c;比如父子组件之间&#xff0c;爷孙组件之间等&#xff0c;也可以是全局范围内的传递&#xff0c;还可以是…

C++数据结构与算法——贪心算法中等题

C第二阶段——数据结构和算法&#xff0c;之前学过一点点数据结构&#xff0c;当时是基于Python来学习的&#xff0c;现在基于C查漏补缺&#xff0c;尤其是树的部分。这一部分计划一个月&#xff0c;主要利用代码随想录来学习&#xff0c;刷题使用力扣网站&#xff0c;不定时更…

分享Fork/Join经典案例

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 在上一篇的文章java 多线程分治求和&#xff0c;太牛了的文章中&#xff0c;提到…

Docker使用— Docker部署安装Nginx

Nginx简介 Nginx 是一款高性能的 web 服务器、反向代理服务器以及电子邮件&#xff08;IMAP/POP3/SMTP&#xff09;代理服务器&#xff0c;由俄罗斯开发者伊戈尔塞索耶夫&#xff08;Igor Sysoev&#xff09;编写&#xff0c;并在2004年10月4日发布了首个公开版本0.1.0。Nginx…

因为使用ArrayList.removeAll(List list)导致的机器重启

背景 先说一下背景&#xff0c;博主所在的业务组有一个核心系统&#xff0c;需要同步两个不同数据源给过来的数据到redis中&#xff0c;但是每次同步之前需要过滤掉一部分数据&#xff0c;只存储剩下的数据。每次同步的数据与需要过滤掉的数据量级大概在0-100w的数据不等。 由…