前端——JS

news2024/11/19 1:20:48

1.JS的学习内容

JavaScript的组成包含ECMAScript、DOM、BOM。

2.JS的特点

JS是运行在浏览器上的一种脚本语言

【1】Java和JS的区别:

【2】HTML和CSS和JS这三者的关系

3.JS的引入方式

3.1JS的引入方式1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--内嵌式引入方式
        1.在head标签中,用一对script标签,嵌入JS代码
        2.type属性可以省略不写
    -->
    <script>
        /*定义一个函数(方法)*/
        function fun1(){
          /*弹窗提示一点信息,alert可以当成java中的sout来使用*/
          alert("你好")
        }

    </script>
</head>
<body>
      <input type="button" value="chai" οnclick="fun1()">
</body>
</html>

3.2JS的引入方式2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--链接式引入外部JS文件
     提高了代码的复用度,降低代码的耦合性
     降低了代码的维护难度。
     1.一个页面可以引入多个不同的JS文件
     2.script标签一旦用于引入外部JS文件,就不能在中间定义内嵌式代码,如果想即用外部引入又想用内嵌式呢?可以再定义一个script标签
     3.一个页面上可以有多个script标签,位置也不是非得放到head标签中不可,也可以放到body标签中
     4.JS文件的第三种引入方式:<script src="URL网络路径"></script>,写法和第二种式一样的
    -->
    <script src="JS.js">

    </script>
</head>
<body>
        <input type="button" value="chai" οnclick="fun2()">
</body>
</html>

4.JS数据类型和运算符

4.1JS中的数据类型

4.2JS中的运算符

【1】取余

JS取余数运算对于浮点数仍然有效,如果和0取余数,结果是NaN(not a number)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
      /*
      * 能除尽,则默认结果就是一个整数,不能除尽,结果默认就是浮点数
      * 在JS中,除0不会出现异常,而是出现Infinity
      * 和0取余数,出现NaN not a number 不是一个数字
      * */
      alert(10/5)
      alert(10%5)
      alert(10%0)

    </script>
</head>
<body>

</body>
</html>

【2】关于+

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
      /*
      * +号中,加号中如果一端是字符串,则变成了文字拼接
      * 数字和boolean类型相加 true会转变成1 false会转变成0, 再做数学运算
      * */
      alert(1+"1")

    </script>
</head>
<body>
</body>
</html>

【3】

.

4.3JS中的流程控制

基本和JAVA中的一致

顺序结构 略

分支结构 if switch

循环结构 while do_while for

4.3.1分支结构

【1】if

【2】switch

4.3.2循环结构

while循环

for循环

4.3.3练习:向页面打印99乘法表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
            for(var i=1;i<=9;i++)
            {
                for (var j = 1; j < i; j++) {
                    document.write(j+"*"+i+"="+i*j+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")
                }
                document.write("<br>")
            }

    </script>
</head>
<body>

</body>
</html>

5.JS函数

5.1JS函数的声明

JS中的返回值都是弱返回值类型,你返回的啥类型都是var,那我们就将var省略。在JS中用function来声明函数,function在JS中就是声明函数的标志

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
            /*
            * 第一种语法格式 也是最常见的
            * function 函数名(参数列表){JS代码}
            *
            * 第二种语法格式 常见
            * var 函数名=function(参数列表){JS代码}
            *
            * 第三种语法格式(抱用,很少见)
            * var 函数名=new Function('JS代码')
            * */
            function fun1(){
                alert(1);
            }
            //调用方法
            fun1();

            var fun2 = function (){
                alert("你很好")
            }
            fun2();

            var fun3 = new Function("alert('你非常好')")
            fun3();

    </script>
</head>
<body>

</body>
</html>

5.2JS函数参数和返回值

注意所有的语句都要放在<script>标签中

函数参数

如果函数中有返回值,那么直接用return关键字返回即可

方法本身作为参数(了解)

6.JS数组

6.1数组的创建

JS数组创建的四种语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
      /*
      * 第一种
      * 创建了一个空数组 new Array()
      * */
      var arr = new Array();
      alert(arr)
      arr[0]=1
      console.log(arr)

      /*
      * 第二种
      * 创建定长数组new Array(5)
      * */
      var arr2 = new Array(5);
      arr2[0]="x"
      arr2[0]=true
      console.log(arr2)

      /*
      * 第三种
      * 创建时,直接指定元素值
      * */
      var arr3 = new Array("asdf",10,20,true);
      console.log(arr3)

      /*
      * 第四种
      * 相当于的第三种语法的简写
      * */
      var arr4 = ["asdf",10,20,true];
      console.log(arr3)
    </script>
</head>
<body>

</body>
</html>

6.2数组的元素和长度

6.3数组的遍历

6.4数组的常用方法

runoob.com 菜鸟教程 JS数组那一章节 都会有方法的详细解释

JavaScript Array(数组)对象 | 菜鸟教程

6.5数组的排序问题

7.JS中的对象

7.1JS中的常用对象

7.1.1String常用方法

JS中String的常用方法:

JavaScript String 对象 | 菜鸟教程

runoob.com 菜鸟教程上面都有

7.1.2Number常用方法

JavaScript Number 对象 | 菜鸟教程

里面比较重要的就是取最大值和最小值

NaN叫做非数字

7.1.3Math常用方法

JavaScript Math(算数)对象 | 菜鸟教程

7.1.3Date常用方法

JavaScript Date(日期)对象 | 菜鸟教程

获取Date对象:

常用方法:

7.2JS中的自定义对象

7.2.1调用系统的构造函数创建对象(Object)

7.2.2自定义构造函数创建对象(function)

7.2.3字面量的方式创建对象(JSON)

7.3JS中的原型的介绍(了解)

7.4JS中的原型链(了解)

8.JS中的事件

8.1什么是事件

(1)一个事件可以同时绑定多个JS函数

(2)一个页面元素可以同时绑定多个事件

8.2常见事件演示

HTML DOM 事件对象 | 菜鸟教程

所有的事件,最关注的事件是表单事件。主要讲鼠标事件,键盘事件,表单事件,页面加载事件。

8.2.1鼠标事件

8.2.2键盘事件

8.2.3表单事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function fun1(){console.log("获得焦点")}
        function fun2(){console.log("失去焦点")}
        function fun3(){console.log("正在输入")}//只要输入了就会触发
        function fun4(){console.log("内容改变")}//内部信息发生变化的同时要失去焦点,代表结束,如果输入111然后在失去焦点之前删除了,那么不会发生内容改变
        function fun5(sel){console.log("内容发生改变")}
    </script>
</head>
<body>
        <!--method代表提交的方式  action代表提交的地址-->
        <form method="get" action="https://www.baidu.com" οnsubmit="fun1()" οnreset="fun2()">
            <input name=""  value="" type="text" οnfοcus="fun1()" οnblur="fun2()" οninput="fun3()" οnchange="fun4()"><br>
            <select οnchange="fun5(this)">
                <option value="1">---请选择城市---</option>
                <option value="2">北京</option>
                <option value="3">天津</option>
                <option value="4">伤害</option>
            </select>
            <br>
            <input type="submit" value="提交数据">
            <input type="reset" value="重置数据">

        </form>
</body>
</html>

9.BOM编程学习

9.1认识BOM和DOM

有了BOM之后,就可以控制浏览器的行为

有了DOM之后,就可以修改页面文档内容的效果

document对象是window对象的一个属性

9.2window对象及常用方法

【1】window对象三种弹窗方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function fun1(){
          //window对象是浏览器自己给我们生成的对象,不用我们去new
          /*
          * 如果是使用的window对象调用的方法和访问的属性 那么window都可以省略不写
          * */
          window.alert("你好呀")//普通提示框
          //如何在这里知道
          var con = window.confirm("确定吗")//确认框
          console.log(con)
          prompt("请输入前任的名字")//信息输入框
        }
    </script>
</head>
<body>
      <input type="button" value="111" οnclick="fun1()">
</body>
</html>

【2】定时器的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
            //生成一个时间  向控制台打印
            //循环多次执行的定时器任务
            var IDS = new Array();
            function startInterval(){
                ID = setInterval(function (){var today = new Date();
                    var hours = today.getHours();
                    var minutes = today.getMinutes();
                    var seconds = today.getSeconds();
                    var str = hours+"点"+minutes+"分"+seconds+"秒"
                    console.log(str)
                    var ta = document.getElementById("time")
                    ta.value = str;

                },1000)
                IDS.push(ID)
            }
            function stopInterval(){
                while(IDS.length>0){
                    clearInterval(IDS.shift())
                }

            }
            //执行一次的定时器任务
            function startTimeout(){
                setTimeout(function (){var today = new Date();
                    var hours = today.getHours();
                    var minutes = today.getMinutes();
                    var seconds = today.getSeconds();
                    var str = hours+"点"+minutes+"分"+seconds+"秒"
                    console.log(str)},1000)
            }


    </script>
</head>
<body>
        <input type="text" id="time"><br>
        <input type="button" value="Interval" οnclick="startInterval()">
        <input type="button" value="结束Interval" οnclick="stopInterval()">
        <input type="button" value="Timeout" οnclick="startTimeout()">
</body>
</html>

【3】window对象的open和close方法

9.3BOM中其他常见对象

【1】location对象

location对象,是window对象的一个属性,代表浏览器上URL地址栏,使用location对象可以操作地址栏

【2】history对象

history对象是window对象的一个属性,代表浏览器访问历史记录,通过history的操作我们可以实现翻阅浏览器历史网页

其中的go 后面传负一就是回退 go可以实现forward和back 的功能

【3】screen和navigator(了解)

screen代表屏幕,navigator代表浏览器软件本身,通过这两个对象可以获得屏幕和浏览器软件的一些信息

10.DOM编程学习

【1】概念

10.1操作节点属性

10.2案例开发

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
            function fun1(){
                var outerDiv = document.getElementById("outerDiv");
                var left= Math.floor(Math.random()*1000);
                var top= Math.floor(Math.random()*500);
                outerDiv.style.marginTop=top+"px"
                outerDiv.style.marginLeft=left+"px"
            }
            function fun2() {
                alert("眼光不错")
            }
    </script>
    <style>
        #outerDiv{
            width: 200px;
            height: 200px;
            border: 1px solid gold;
            background-color: gray;
            text-align: center;
            margin-left: 200px;
            margin-top: 200px;
        }
        #outerDiv input{
            width: 50px;
            height: 50px;
            margin: 20px;
        }
    </style>
</head>
<body>
        <div id="outerDiv">
            <h3>王雪健帅嘛?</h3>
            <input type="button" value="帅" οnclick="fun2()">
            <input type="button" value="不帅" οnmοuseοver="fun1()">
        </div>
</body>
</html>

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

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

相关文章

飞书文档和Cnfluence之间的区别是什么

PingCode 知识库、Confluence 等知识库工具和腾讯文档、WPS、飞书文档到底有什么区别&#xff1f;这是企业团队在找文档管理工具最常见的问题。这两种工具虽然都可以用于组织和共享知识&#xff0c;但它们在功能、使用场景和用户群体方面有很大的区别。那么&#xff0c;它们到底…

亚马逊云科技推出Matter PKI合规指导手册

亚马逊云科技推出Matter公钥基础设施&#xff08;Public Key Infrastructure,PKI&#xff09;合规指导手册&#xff0c;帮助客户使用Amazon Private Certificate Authority&#xff08;Amazon Private CA&#xff09;证书服务构建符合Matter要求的PKI证书体系&#xff0c;加快客…

R语言 | 数据汇总与简单图表制作

目录 一、准备工作 1.1 下载MASS扩展包与crabs对象 1.2 准备与调整系统内建state相关的对象 1.3 准备mtcars对象 二、了解数据的唯一值 三、基础统计知识与R语言 3.1 数据的集中趋势 3.1.1 认识统计学名词——平均数 3.1.2 认识统计学名词——中位数 3.1.3 认识统计学…

Adobe Photoshop 2022版 功能介绍及使用技巧

目录 版本介绍&#xff1a; 使用技巧&#xff1a; 截图展示&#xff1a; 分享 版本介绍&#xff1a; Adobe Photoshop 2022是Adobe公司的一款专业的图像处理软件&#xff0c;它提供了强大的图像处理功能&#xff0c;从色彩调整&#xff0c;图层处理到高级合成等功能。新版…

webhub123 硬件工程师学习和交流、问答各类网站集合

硬件不像软件开源共享的多&#xff0c;硬件的开发和学习相对不自由&#xff0c;能收集到资料有限。为了帮硬件开发工程找到更多大门&#xff0c;我们整理了一些学习、交流的优质网站&#xff0c;收录到 webhub123 硬件工程师学习和交流、问答各类网站集合http://​www.webhub12…

有没有中国版本的ChatGPT?

ChatGPT是一个基于人工智能的聊天机器人&#xff0c;它可以与用户进行自然语言交互。ChatGPT使用了最新的自然语言处理技术&#xff0c;包括深度学习和神经网络&#xff0c;以便更好地理解用户的意图和回答用户的问题。 ChatGPT可以回答各种问题&#xff0c;包括但不限于常见问…

截面空间计量模型(Stata)

截面空间计量模型(Stata) 文章目录 截面空间计量模型(Stata)[toc]1 广义空间自回归模型&#xff08;SAC&#xff09;2 空间误差模型(SEM)3 空间杜宾模型(SDM)4 广义空间嵌套模型(GNS)5 空间(自回归)滞后模型(SAR,SLM)6 空间杜宾误差模型(SDEM) 1 广义空间自回归模型&#xff08…

JUC并发编程14 | ThreadLocal

尚硅谷JUC并发编程&#xff08;100-111&#xff09; ThreadLocal ThreadLocal 使用 ThreadLocal是什么&#xff1f;ThreadLocal 提供线程局部变量。这些变量与正常的变量有所不同&#xff0c;因为每一个线程在访问ThreadLocal实例的时候&#xff08;通过其get或set方法&…

UNIAPP实战项目笔记68 购物车勾选到订单确认

UNIAPP实战项目笔记68 购物车勾选到订单确认 思路 需要用到vuex 页面间传值 案例截图 订单结算页面 购物车页面 确认订单页面 支付页面 代码 前端代码 购物车页面 shopcart.vue <template><view class"shop-cart"><template v-if" list.l…

启扬方案助力智能配送终端,打造智能取件新模式!

随着快递业务的不断发展和智能化程度的提高&#xff0c;智能快递柜已经成为了快递末端配送的新型解决方案&#xff0c;智能快递柜不仅可以提高用户取件的便捷性和安全性&#xff0c;还减少了人工成本&#xff0c;同时提高了快递配送的效率和服务质量&#xff0c;这也使得智能快…

2022年美国大学生数学建模竞赛C题贸易策略解题全过程文档及程序

2022年美国大学生数学建模竞赛 C题 贸易策略 原题再现&#xff1a; 背景:   市场贸易者经常购买和销售股票&#xff0c;目标是最大化他们的总回报。针对每次购买和销售&#xff0c;经常会存在回报提成。两个案例是金子和比特币。   要求:   你们团队被贸易者要求建立一…

Js中的微任务和宏任务

1.前言 任务可以分成两种&#xff0c;一种是同步任务&#xff08;synchronous&#xff09;&#xff0c;另一种是异步&#xff08;asynchronous&#xff09;&#xff0c;异步任务又分为宏任务和微任务。 同步任务&#xff1a;在主线程上排队执行的任务&#xff0c;只有前一个任…

C++11 -- 右值引用和移动语义

文章目录 基本概念左值和左值引用右值和右值引用 右值引用和移动语义的意义和使用场景左值引用与右值引用比较右值引用的特殊场景左值引用的短板右值引用和移动语义 完美转发模板中的&&万能引用完美转发在传参过程中保留原生类型属性完美转发实际中的使用场景 基本概念…

如何用ChatGPT分析品牌舆论传播概况,并给到处理建议?

该场景对应的关键词库&#xff08;25个&#xff09;&#xff1a; 舆论传播、数据分析、主题、事件、时间段、媒体渠道、数据来源、情感分析、关键词提取、主题挖掘、大众集中讨论的话题、讨论关注程度、舆论关注倾向、关联类似事件、聚焦某一种情绪、人群范围、事件涉及群体、谁…

企业电子招标采购系统源码java 版本 Spring Cloud + Spring Boot

项目说明 随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大&#xff0c;公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境&#xff0c;最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范&#xff0c;以及…

程序员的职场,光有技术是不行的,送给每个即将工作的程序员

又是一年五月份&#xff0c;大批量学计算机的学生又要涌入职场了&#xff0c;牛皮的已经早早找到了工作&#xff0c;但不管你技术再牛&#xff0c;在程序员的职场&#xff0c;光有技术是不行的&#xff0c;你还要懂得一些职场的雷坑和上升技巧。 我做了二十多年程序员&#xf…

Stable diffusion教程 - 提示词汉化

1. 介绍 安装stable diffusion后&#xff0c;可能英语不熟悉&#xff0c;可能提示词不熟悉&#xff0c;写提示词就比较困难。 这款提示词汉化插件&#xff0c;配合中文词库输入中文就能提示相关提示词&#xff0c;用起来超级方便&#xff0c;示例如下&#xff1a; 输入“花”…

windows下搭建局域网的mysql.md

场景&#xff1a;公司的需要搭建一个局域网的mysql服务器&#xff0c;利用phpstudy傻瓜式安装后&#xff0c;用本机访问&#xff0c;提示 1130 - Host ‘DESKTOP-IRSGN4A’ is not allowed to connect to this MySQL server mysql 安装软件 1、命令行进入mysql 首先我们需要进…

Python基础入门编程代码练习(六)

一、模拟房产经纪人来管理房屋信息 编写业务实现 家具类&#xff1a;HouseItem 属性&#xff1a;名字 name&#xff0c;占地面积 area 方法&#xff1a;__init__ , __str__ 类名&#xff1a;房子类 House 属性&#xff1a;户型 name&#xff0c;总面积&#xff1a;total_are…

为什么编程都建议不要用拼音命名

一、场景 我们看看知乎答主举的搞笑例子&#xff0c;一句话全部都是shi&#xff0c;表达起来确实困难。 二、原因 上面这个回答&#xff0c;一句话全部都是“shi”&#xff0c;表达起来确实困难。并且让人误解 那么编程都建议不要用拼音命名&#xff0c;主要有以下原因&…