JavaScript初学

简介: 本系列文章是对自己大一假期学习js后,是对自己学习js过程中的一些理解和看法,本篇文章主要是对学习JavaScript后我们可以去做一些什么事情,算是对js有一个初步了解。本章主要是对js初学者,对于js的使用方向有一个初步了解,同时也是对我学习过程中的一中记录,也是同这些实例的练习,然后对于js有了更加清晰的了解,对于我来说,可玩性更高了。

前言

                 

版权声明:本文为本博主在CSDN的原创文章搬运而来,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                    

原文链接:https://blog.csdn.net/weixin_72543266/article/details/132615308


本系列文章是对自己大一假期学习js后,是对自己学习js过程中的一些理解和看法,本篇文章主要是对学习JavaScript后我们可以去做一些什么事情,算是对js有一个初步了解。

当然本章中的示例,我是在IJ中编写代码,所以我会先介绍一下如何在IJ中编写JavaScript。当然学习之前需要有HTML和CSS代码的基础


思维导图

image.gif

1,下载和安装Node.js

1.1,为什么下载?

 IJ在下载后会自带一个插件Node.js,但是并没有进行js的解释器配置,会导致无法运行js代码

image.gif 编辑

1.2,如何下载?

1.2.1,下载

这里我们点击下面的链接,推荐下载稳定版(红圈)

image.gif


1.2.2,下载过程中的注意事项

中间没有什么需要配置的主要就是一直下一步,中间出现四个条款时选择最后一个,最后一个会将系统变量直接添加到环境变量path中,省略了我们需要配置环境变量的过程。

下载后我们自行安装到一个能记住的位置,不推荐C盘,注意安装时,会出现推荐安装npm的软件包管理器,点击安装即可

然后,我们依次在IJ中点击左上角的文件 -->然后点击设置-->先点击语言与框架-->然后点击Node.js和NPM,最后我们选择自己安装自定义安装的node.js中的node.exe文件即可

image.gif

2,js的介绍

JavaScript 是一种高级、动态、弱类型的编程语言,广泛用于前端开发。它为网页增加了交互性和动态功能,可以通过在网页中嵌入 JavaScript 代码来控制 HTML 元素、响应用户操作、操作浏览器对象等。JavaScript 被所有现代浏览器支持,它也可以用于服务器端开发(Node.js)。 JavaScript 语法简单而灵活,可以实现各种功能,从简单的表单验证到复杂的应用程序。它还有各种库和框架,如React、Vue和Angular,进一步扩展了它的功能和用途。总体而言,JavaScript 是现代 Web 开发中不可或缺的一部分。

3,直接写入 HTML 输出流

3.1,IJ中如何操作

编写完代码,我们只需要,点击红圈中的任意一个浏览器或IJ图表即可打开页面

image.gif 编辑

3.2,代码示例解读

我们先了解怎么使用,怎么操作,后续在练习和使用过程中会慢慢理解为什么这样可以。

我们可以通过document.write()直接向浏览器页面输出文字,并且输出中含有HTML标签的话,浏览器会自动解析,并将其展示出来。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>输出信息</title>
</head>
<body>
<p>js能够直接写入HTML输出流</p>
<script>
    // 使用document.write进行输出文字到页面
    document.write("<h1>这是一个标题</h1>");
    document.write("<p>这是一个段落。</p>");
</script>
<p>你只能在HTML流中使用<strong>document.write()</strong>
如果你在文档已加载后使用它(比如在函数中),会覆盖整个文档。
</p>
</body>
</html>

image.gif

3.3,结果展示

image.gif

我们会发现,浏览器确实解析了h1标签和strong标签

4.对事件的反应

4.1代码示例解读

这里主要是使用了一个创建按钮的标签<button>

onclick作用就是提供一个交互作用,现在我们是在按钮中,那么我们点击按钮就会调用它所绑定的方法或函数,如果是图片或是其他的也是这种情况,是比较常用的一种。

其中的有一个js全局方法alert(),作用是在被调用后会在浏览器页面出现一个简单的警告或通知信息

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>点击反应</title>
</head>
<body>
<h1>我的第一个js反应</h1>
<p>js能对事件进行反应,比如说是对按钮的点击</p>
<!--创建按钮然后通过alert弹窗弹出文本-->
<button type="button" onclick="alert('欢迎来到我的世界!')">点我!</button>
</body>
</html>

image.gif

4.2,结果展示

这里我们们点击按钮后就会出现图片中显示的警告框。

image.gif

5.改变 HTML 内容

5.1,代码示例解读1

和上面的示例一样用到了常用的按钮创建标签,并且将我的函数进行绑定,点击按钮后就会调用这个函数,然后执行这个函数中的内容。

其中用到了一个 document.getElementById("demo").innerHTML="Hello js!";

我们拆解一下document.getElementById("demo"),是用于获取id含有demo的元素,而代码中<p>标签中含有,那么我们调用函数后就会对<p>标签的内容进行作用。

后面的.innerHTML="Hello.js!";  也是一种方法,将获取id元素进行改变为Hello.js。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>改html的内容</title>
</head>
<body>
<h1>我的第一段js代码</h1>
<p id="demo">js能够改变html元素的内容</p>
<!--创建按钮调用函数-->
<button type="button" onclick="myFunction()">点击这里!</button>
<script>
    function myFunction(){
    document.getElementById("demo").innerHTML="Hello js!"; //点击后获取demo元素的标签,然后将其文本替换
    }
</script>
</body>
</html>

image.gif

5.2,结果展示1

    这里点击按钮后就会<p>标签中的js能够改变html元素的内容信息改为Hello.js.

image.gif

5.3, 代码示例解读2

这里就有有一个方法要说,就是Date(),这个方法是js中的一个获取时间和日期的方法,我们让更改的信息改为Date()

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>测试用例</title>
</head>
<body>
    <script>
        // 定义一个展示日期的函数
       function displayDate(){
        //使用getElementById方法获取demo(id)的元素,然后用用.innerHTML将含有demo元素的标签的内容设置为Date
       document.getElementById("demo").innerHTML=Date();
       }
    </script>
    <h1>这是一个显示时间的简单js程序</h1>
    <!--被修改的信息-->
    <p id="demo"></p> 
    <!--创建一个绑定显示日期与时间的函数的按钮-->
    <button type="button" onclick="displayDate()">显示时间与日期</button>   
</body>
</html>

image.gif

5.4,结果展示2

这里点击按钮后就会出现实时的日期与时间

image.gif

image.gif

6.1,代码实例解读

这里我们再次用到了onclick()这个方法,而这次将其应用到了图片中,所以,点击图片会调用函数。

这里我们分析这段方法,先是获取id元素然后赋值给了element,然后使用了一个element.src.match(),这个方法的作用是去判断图片的src,图片名中是否含有bulbon这个字符串,如果有,那么就会切换为另一张图片。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>点亮灯泡</title>
</head>
<body>
<script>
    //创建改变图像函数
    function changeImage(){
       const element=document.getElementById("myimage"); // 先获取图像元素
        if(element.src.match("bulbon"))
        {       //使用获取到的id元素的src中的字符串中是否含有bulbon字符串
            element.src="pic_bulboff.gif";         // 将另一图片地址赋值给element中的src,然后出现切换图片
        }
        else{
            element.src="pic_bulbon.gif";
        }
    }
</script>
<img id="myimage" onclick="changeImage()" src="pic_bulboff.gif" width="100" height="180" alt="灯泡图">
<p>点击灯泡就可以开启和关闭灯泡</p>
</body>
</html>

image.gif

6.2,结果展示

这里点击灯泡就可以开关灯泡,这也是一种视觉欺骗吧,本质就是切换一下图片

7,改变 HTML 样式

7.1,代码实例解读

 这里的大部分函数和标签都在前说过了,使用x.style.color这也是js中的以一种方法,是为了将id为demo的元素的颜色将其改变。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>改变字体颜色</title>
</head>
<body>
<h1>我的第一段改变样式的代码</h1>
<p id="demo">js能够改变html的样式</p>
<!--创建按钮并绑定改变函数-->
<button type="button" onclick="myFunction()">点击这里!</button>
<script>
    function myFunction(){
        const x = document.getElementById("demo"); //找到元素
        x.style.color="#00ccff"; //改变样式
    }
</script>
</body>
</html>

image.gif

7.2,结果展示

点击按钮前后

image.gif


8,验证输入

8.1,代码实例解读

这里我们使用了一个输入框标签input,会出现一个输入框,我们让js中的方法获取输入框中输入的文本信息的值. (.value)

然后我们创建一个按钮去控制方法的调用,其中会用x判断是否为空串,中间用的是||代表式或的意思,只要满足一个就会执行下面的代码,然后会判断是否为数字(isNaN)

注释部分为使用正则表达式判断进行,如果懂的可以看看,下面的判断方法更加严谨

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>验证是否数字</title>
</head>
<body>
<h1>我的第一个验证程序</h1>
<p>请输入数字,如果不是数字会弹出提示框</p>
<!--创建输入信息框-->
<input id="demo" type="text">
<script>
    function myFunction(){
        const x =document.getElementById('demo').value; //获取 id 为 “demo” 的元素的值,并将其赋值给变量 x
//首先判断 x 的值是否为空字符串 "",如果是则执行下面的代码,如果 x 不为空字符串,再判断 x 的值是否为非数值(NaN),如果是,则执行下面的代码。
        if(x==""||isNaN(x)){
            alert("不是数字!!!")
        }
        //使用正则进行判断可以更好的进行判断
        // if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,"")==""){
        //     alert("不是数字");
        // }
    }
</script>
<!--创建一个按钮,绑定函数,进行验证操作-->
<button type="button" onclick="myFunction()">点击这里</button> 
</body>
</html>

image.gif

8.2,结果展示

输入数字,点击按钮不会产生弹窗

输入其他符号会,出现弹窗

image.gif

9,总结

 本章主要是对js初学者,对于js的使用方向有一个初步了解,同时也是对我学习过程中的一中记录,也是同这些实例的练习,然后对于js有了更加清晰的了解,对于我来说,可玩性更高了。


每日一言

如果你只读每个人都在读的书,你也只能想到每个人都能想到的事。

 如果我的学习笔记对你有用,不妨点赞收藏一下,感谢你的支持,当然也欢迎大佬给我一下建议或是对笔记中的不足进行补充,对我学习大有帮助,谢谢。  

相关文章
|
机器学习/深度学习 人工智能 算法
《深度剖析Q-learning中的Q值:解锁智能决策的密码》
Q-learning是强化学习中的重要算法,其核心是Q值,即智能体在特定状态下采取某一动作后预计能获得的长期累积奖励。Q值如同“智慧密码”,指导智能体做出最优决策。通过贝尔曼方程更新Q值,智能体能在探索与利用之间找到平衡,逐渐学习到最优策略。在简单场景中,Q表可有效存储和更新Q值;而在复杂场景如自动驾驶中,则需借助深度神经网络近似Q值函数,推动强化学习在实际应用中的突破。
537 23
|
机器学习/深度学习 边缘计算 人工智能
第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025) 2025 2nd international Conference on Edge Computing, Parallel and Distributed Computing
第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025) 2025 2nd international Conference on Edge Computing, Parallel and Distributed Computing 机器学习 计算学习理论 数据挖掘 科学计算 计算应用 数字图像处理 人工智能
295 6
|
监控 架构师 Java
Java虚拟机调优的艺术:从入门到精通####
本文作为一篇深入浅出的技术指南,旨在为Java开发者揭示JVM调优的神秘面纱,通过剖析其背后的原理、分享实战经验与最佳实践,引领读者踏上从调优新手到高手的进阶之路。不同于传统的摘要概述,本文将以一场虚拟的对话形式,模拟一位经验丰富的架构师向初学者传授JVM调优的心法,激发学习兴趣,同时概括性地介绍文章将探讨的核心议题——性能监控、垃圾回收优化、内存管理及常见问题解决策略。 ####
|
存储
二维数组在物理上以及逻辑上的数组维度理解
C 语言中,二维数组在物理上按行优先连续存储,可视为一维数组的数组;逻辑上呈现行和列的结构,支持通过双下标访问元素,适用于矩阵和表格等数据结构的表示与操作。
|
机器学习/深度学习 人工智能 算法
机器学习【教育领域及其平台搭建】
机器学习【教育领域及其平台搭建】
452 6
|
数据采集 监控 数据挖掘
CSV文件自动化生成:用Pandas与Datetime高效处理京东商品信息
在电商竞争激烈的背景下,实时掌握商品价格和库存信息至关重要。本文介绍如何使用Python的`pandas`和`datetime`库从京东抓取商品名称、价格等信息,并生成CSV文件。结合代理IP技术,提升爬取效率和稳定性。通过设置请求头、使用代理IP和多线程技术,确保数据抓取的连续性和成功率。最终,数据将以带时间戳的CSV文件形式保存,方便后续分析。
517 2
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
272 1
|
敏捷开发 数据可视化 算法
瀑布模型大揭秘:如何用分段式开发轻松搞定软件项目?
瀑布模型是软件开发中最早的线性开发方法,由Winston W. Royce于1970年提出。该模型将项目分为需求分析、系统设计、实现、集成与测试、部署和维护六个阶段,每个阶段自上而下依次进行。尽管近年来敏捷开发备受推崇,但瀑布模型在需求明确、流程复杂的项目中仍具重要价值。本文将详细介绍瀑布模型的概念、主要阶段及步骤,并探讨如何使用项目管理工具如板栗看板,帮助团队高效协作。
456 0
|
JSON API 定位技术
AppFlow:让通义千问大模型调用你的任意API
在阿里云AppFlow中,通过自定义插件连接器可使通义千问获取特定功能,如旅游规划或投资辅助。登录AppFlow控制台,选择“自定义连接器”,上传图标,设定基本信息,选“插件连接器”。支持Basic、Bearer Token、AppCode等鉴权。精确配置API名称、描述及请求参数,确保模型调用准确。参考示例curl命令调整参数结构,填写响应体帮助模型解析。发布后,在模型Agent搭建中选用自定义连接器增强功能。
13840 7
|
存储 安全 算法
Java中防止压缩炸弹的技术分享
【8月更文挑战第17天】在软件开发和数据处理的日常工作中,我们经常会遇到各种压缩文件。然而,一种被称为“压缩炸弹”的恶意文件却给开发者带来了不小的困扰。压缩炸弹通过特殊设计的压缩算法,使得极小的文件在解压后能膨胀到异常巨大的体积,从而消耗大量系统资源甚至导致系统崩溃。本文将围绕“如何在Java中防止压缩炸弹”这一主题,分享一些实用的技术干货。
677 0

热门文章

最新文章