前端三剑客 —— 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/520813.html

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

相关文章

【踩坑日记】因不同系统换行符不同导致的文本读取结果不同的问题

文章目录 1 问题现象描述2 解决过程&#xff08;点击直接跳到解决方法&#xff09;3 原因解释4 如何避免踩坑4.1 格式转换4.2 格式查看 1 问题现象描述 起因是群友问了这么一个问题 确实很奇怪&#xff0c;按理说第二个printf不会完全不输出&#xff0c;于是想到&#xff0c;…

C++数据结构与算法——回溯算法组合问题

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

SD-WAN如何解决更有性价比地跨境网络问题

云桥通SD-WAN利用智能路由和负载均衡技术&#xff0c;优化数据传输路径&#xff0c;提高网络性能和可靠性。这意味着数据在跨国传输时可以更快到达目的地&#xff0c;减少延迟和丢包率。跨境SD-WAN提高了网络连接速度和质量&#xff0c;使用户能够更快地访问跨国业务所需的资源…

索引的概念

索引的概念    1.索引是一种可选的与表相关的数据库对象&#xff0c;用于提高数据的查询效率。    2.索引是一种有序的数据结构。    3.如果一个表没有创建索引&#xff0c;则对该表进行查询时需要进行全表扫描&#xff1b;如果创建了索引&#xff0c;则在有条件查询时…

应用性能分析工具CPU Profiler

简介 本文档介绍应用性能分析工具CPU Profiler的使用方法&#xff0c;该工具为开发者提供性能采样分析手段&#xff0c;可在不插桩情况下获取调用栈上各层函数的执行时间&#xff0c;并展示在时间轴上。 开发者可通过该工具查看TS/JS代码及NAPI代码执行过程中的时序及耗时情况…

福州装修答疑 | 飘窗能不能砸掉?福州中宅装饰,福州装修

装修中的飘窗是一种常见的装饰元素&#xff0c;它不仅可以增加室内的采光和通风效果&#xff0c;还能为居室增添一份雅致和温馨。然而&#xff0c;很多业主在装修中都会遇到一个共同的问题&#xff1a;装修中的飘窗到底能不能砸&#xff1f;什么情况下可以砸&#xff1f;什么情…

IO流【带有缓冲区的字节输入、输出流;字符输入、输出流 转换流】

day35 学习注意事项 按照流的发展历史去学习注意流与流之间的继承关系举一反三 IO流 继day36 字节流继承图 字节流 应用场景&#xff1a;操作二进制数据&#xff08;音频、视频、图片&#xff09; abstract class InputStream – 字节输入流的基类&#xff08;抽象类&#xff0…

基于R、Python的Copula变量相关性分析及AI大模型应用

在工程、水文和金融等各学科的研究中&#xff0c;总是会遇到很多变量&#xff0c;研究这些相互纠缠的变量间的相关关系是各学科的研究的重点。虽然皮尔逊相关、秩相关等相关系数提供了变量间相关关系的粗略结果&#xff0c;但这些系数都存在着无法克服的困难。例如&#xff0c;…

Anaconda环境命令样例

启动命令行Anaconda Powershell Prompt 查看环境列表 (base) PS C:\Users\Administrator> conda env list # conda environments: # base * G:\ProgramData\anaconda3 MoneyprinterTurbo G:\ProgramData\anaconda3\envs\MoneyprinterTurbo pytorc…

C++ 标准库类型stackqueue

C/C总述&#xff1a;Study C/C-CSDN博客 栈与队列详解&#xff08;数据结构&#xff09;&#xff1a;栈与队列_禊月初三-CSDN博客 stack&#xff08;栈&#xff09; stack的常用函数 函数说明功能说明stack()构造空栈push(T& val)将元素val压入栈中size()返回栈中元素个…

数据结构之二叉树由浅入深最终章!

题外话 我说清明节想放松一下没更新大家信吗? 博客毕竟是文字不是视频,大家如果有不明白的地方,可以使用数形结合的方式,画图一边通过图片,一边通过对照代码进行推导一下,有什么问题都可以私信我或者写在评论区 正题 第一题 寻找二叉树中p,q最近公共祖先 第一题思路 先…

【C++】红黑树讲解及实现

前言&#xff1a; AVL树与红黑树相似&#xff0c;都是一种平衡二叉搜索树&#xff0c;但是AVL树的平衡要求太严格&#xff0c;如果要对AVL树做一些结构修改的操作性能会非常低下&#xff0c;比如&#xff1a;插入时要维护其绝对平衡&#xff0c;旋转的次数比较多&#xff0c;更…

【Claude 3】This organization has been disabled.此组织已被禁用。(Claude无法对话的原因和解决办法)

Claude对话提示 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 This organization has been disabled.此组织已被禁用。 问题截图 问题原因 出现该页面&#xff0c;表示您的账户已经无法使用&#xff0c;可能…

顺序表相关习题

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;python从入门到精通&#xff0c;魔法指针&#xff0c;进阶C&#xff0c;C语言&#xff0c;C语言题集&#xff0c;C语言实现游戏&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文…

Jenkins (三) - 拉取编译

Jenkins (三) - 拉取编译 通过Jenkins平台 git 拉取github上项目&#xff0c;通过maven编译并打包。 Jenkins 安装 git 插件 Manager Jenkins -> Plugins -> Available plugins -> Git 打包编译检验 FressStyle 风格编译 New Item输入 item name Spring-Cloud-1…

回溯法(一)——全排列 全组合 子集问题

全排列问题 数字序列 [ l , r ] [l,r] [l,r]​区间内元素的全排列问题 extern int ans[],l,r,num;//num&#xff1a;方案数 extern bool flag[]; void dfs(int cl){//cl:current left&#xff0c;即为当前递归轮的首元素if(cl r 1){//数组已越界&#xff0c;本轮递归结束for…

IDEA2023创建SpringMVC项目

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 开发环境篇 ✨特色专栏&#xff1a; M…

SpringBoot整合Spring Data JPA

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容: SpringBoot整合Spring Data JPA 📚个人知识库: Leo知识库,欢迎大家访问 1.…

智慧牧场数据 7

1 体征数据采集 需求:获取奶牛记步信息 三轴加速度测量&#xff1a;加速度测量计反应的加速向量与当前的受力方向是相反&#xff0c;单位为g 陀螺仪&#xff0c;是用来测量角速度的&#xff0c;单位为度每秒&#xff08;deg/s&#xff09; 2000deg/s 相当于1秒钟多少转 1.1…

Vue关键知识点

watch侦听器 Vue.js 中的侦听器&#xff08;Watcher&#xff09;是 Vue提供的一种响应式系统的核心机制之一。 监听数据的变化&#xff0c;并在数据发生变化时执行相应的回调函数。 目的:数据变化能够自动更新到视图中 原理&#xff1a; Vue 的侦听器通过观察对象的属性&#…