JavaScript-上篇

news2024/11/28 19:00:45

 JS 入门

JS概述        

        JavaScript(简称JS)是一种高层次、解释型的编程语言,最初由布兰登·艾奇(Brendan Eich)于1995年创建,并首次出现在网景浏览器中。JS的设计初衷是为Web页面提供动态交互功能,因此与HTML和CSS一起构成了Web的三大核心技术。随着时间的推移,JavaScript不断发展,成为如今最流行的编程语言之一。

ECMA

        1997年,JavaScript正式通过ECMA-262标准化,成为ECMAScript(简称ES)。ECMAScript是一个基于JavaScript的规范,旨在统一和规范不同的JavaScript实现。此后,JavaScript的发展就与ECMAScript版本紧密相连,每个新版本都引入了新的特性和功能。目前流行的是ES6,也就是2015年发布的版本,也是大多数企业采用的。

Java与JS

        Java与JavaScript虽然名字相似,但它们是两种不同的语言。Java是一种编译型的静态语言,主要用于开发企业级应用和移动应用,而JavaScript是一种动态语言,主要用于在网页中实现交互效果。两者之间并没有直接的关系,但因为Java在90年代的受欢迎程度,使得JavaScript的命名受到了影响。

Web工作关系

        作为一个后端开发者,我们也是需要简单学习一下前端的知识,目前大多数企业都是采用前后端分离开发,我们应该重点学习后端部分。

 JavaScript的引入方式

JavaScript可以通过两种主要方式引入到HTML文档中:

1.内联引入

        将JavaScript代码直接嵌入到HTML文件中,通常放置在<script>标签内。

2.外部引入

        将JavaScript代码写入外部文件中,然后在HTML中引入。这样做可以提高代码的复用性和维护性。


	/*三种输出方式  */
    window.alert('HELLo!');//网页弹窗
    document.write('HELLo');//写入html中
    console.log('hello'); //浏览器控制台输出
    {
    /* 变量 */
    var a = 20;  //var是 variable的缩写
    a = '张三';
    /* 
    JS大部分语法与Java类似,是弱类型的语言,因此类型不同也可以对同一变量赋值 
    var关键字定义变量的特点
    特点1.var定义出来的是全局变量
    特点2.可以重复定义变量名
    */
    }

    {
        let x = 20;
        alert(x);
        /* let是ES6中引入的,let用法与var类似都是用来定义变量的
        1.let定义的是局部变量
        2.let不能重复定义变量名
        */ 
    }
    /* ES6还引入了 const 关键字,定义只读变量 */







    
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<script src="./JS_code/demo1.js"></script>
	<title>js基础语法</title>
</head>
<body>
	<!-- JS,跨平台、面向对象的脚本语言 -->
	 <script>
		/* js有两种引入方式 */

	 </script>
	
	


</body>
</html>

JavaScript基础语法

1. 输出方式

JavaScript提供了3种方式来输出内容:

alert():弹出警告框,显示信息。

alert("Hello, World!");

console.log():在浏览器的控制台输出信息,适合调试使用。

console.log("这是一个调试信息");

document.write():直接在HTML文档中写入内容,通常不推荐在页面加载之后使用。

document.write("这是一段文本");

2. 变量

JavaScript使用varletconst声明变量:

  • var:用于声明可变变量,作用域为函数或全局。
  • let:用于声明块级作用域的变量。
  • const:用于声明常量,一旦赋值后不可修改。

	/*三种输出方式  */
    window.alert('HELLo!');//网页弹窗
    document.write('HELLo');//写入html中
    console.log('hello'); //浏览器控制台输出
    {
    /* 变量 */
    var a = 20;  //var是 variable的缩写
    a = '张三';
    /* 
    JS大部分语法与Java类似,是弱类型的语言,因此类型不同也可以对同一变量赋值 
    var关键字定义变量的特点
    特点1.var定义出来的是全局变量
    特点2.可以重复定义变量名
    */
    }

    {
        let x = 20;
        alert(x);
        /* let是ES6中引入的,let用法与var类似都是用来定义变量的
        1.let定义的是局部变量
        2.let不能重复定义变量名
        */ 
    }
    /* ES6还引入了 const 关键字,定义只读变量 */


 

3. 运算符与数据类型

JavaScript的运算符与Java种类似,有稍微不同

可以看到只是多了一个  ===    ,那么 ===  和  ==  有什么区别呢?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS运算符</title>
</head>
<body>
    <script>
        // JS运算符与Java运算符大致相同,但也有一些差异。
        /* ==  与 === 区别:
        1. == 运算符比较两个值是否相等,不论数据类型是否相同,如果值相等,则返回true,否则返回false。
        2. === 运算符比较两个值是否相等,且数据类型也相同,如果值相等且数据类型相同,则返回true,否则返回false。
          */
        {
            //转换为数字类型
          alert(parseInt('12A56'));//12
          alert(parseInt('A56'));//NaN
        }


        {
            //转换为boolean类型
            if(-1)    alert('只有0和NaN才为false,其他值都为true');//数字类型转换为boolean类型
            if("")    alert('空字符串转换为false,其他值都为true');//字符串类型转换为boolean类型
            if(" ")   alert('空格也是false');
            if(null)  alert('null转换为false');
            if(undefined)  alert('undefined转换为false');
        }
          

          




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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS数据类型</title>
</head>
<body>
    <script>
        // JS 基本数据类型
        alert(typeof 8);//number
        alert(typeof 3.14);//number

        
        alert(typeof true);//boolean
        alert(typeof false);//boolean

        alert(typeof "HEllo!");//string
        alert(typeof 'A');//string

        alert(typeof null);//object
        var a;
        alert(typeof a);//未初始化会被归为,undefined


    </script>


    
</body>
</html>

        JS是一种跨平台、面向对象的脚本语言,有了Java的基础,我们学习起来会非常轻松,下面是JS的基本数据类型。

4. 流程控制

JS流程控制与Java基本一致,我就不过多赘述了

JS函数

        函数的定义与调用也非常简单,由于JS是弱类型的语言,可以不需要定义返回类型,不需要定义参数类型

        主要有两种方式,通过 function 关键字来定义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JS函数</title>
</head>
<body>
    <script>
        // 函数定义
        function add(a, b) {
            return a + b;
        }

        var add2 = function(a, b) {
            return a + b;
        }

        // 函数调用
        var result = add(10, 20);
        console.log(result);
        alert(add2(10, 20));

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

总结

        JavaScript作为Web开发的重要工具,通过不断的演进与扩展,已经成为现代应用开发中不可或缺的一部分。了解其基本语法、运算符、引入方式和流程控制等基础知识,是学习和使用JavaScript的基础。希望对你有所帮助……

        接着我会更新JS的下篇,点赞支持一下吧……

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

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

相关文章

区块链可投会议CCF C--CT-RSA 2025 截止10.15 附2024录用率

Conference&#xff1a;The Cryptographers Track at RSA Conference (CT-RSA) CCF level&#xff1a;CCF C Categories&#xff1a;network and information security Year&#xff1a;2025 Conference time&#xff1a;San Francisco, California, USA • April 28–May …

930/105每日一题

算法 1 4,2,9,11, 4, 2,4 2,4,9 42 4 24 9 2&#xff08;0&#xff09; 4&#xff08;1&#xff09; 9&#xff08;2&#xff09; 11&#xff08;3&#xff09; 11&#xff08;0&#xff09;11&#xff08;1&#xff09; 9&#xff08;2&#xff09; 11&#xff08;3&#xf…

深度学习:基于MindSpore实现CycleGAN壁画修复

关于CycleGAN的基础知识可参考&#xff1a; 深度学习&#xff1a;CycleGAN图像风格迁移转换-CSDN博客 以及MindSpore官方的教学视频&#xff1a; CycleGAN图像风格迁移转换_哔哩哔哩_bilibili 本案例将基于CycleGAN实现破损草图到线稿图的转换 数据集 本案例使用的数据集里…

Qt系统学习篇(6)-QMainWindow

QMainWindow是一个为用户提供主窗口程序的类&#xff0c;包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget)&#xff0c;是许多应用程序的基础&#xff0c;如文本编辑器&#xff0c;图片编…

webpack信息泄露

先看看webpack中文网给出的解释 webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换、打包或包裹任何资源。 如果未正确配置&#xff0c;会生成一个.map文件&#xff0c;它包含了原始JavaScript代码的映…

算法笔记(九)——栈

文章目录 删除字符串中的所有相邻重复项比较含退格的字符串基本计算机II字符串解码验证栈序列 栈是一种先进后出的数据结构&#xff0c;其操作主要有 进栈、压栈&#xff08;Push&#xff09; 出栈&#xff08;Pop&#xff09; 常见的使用栈的算法题 中缀转后缀逆波兰表达式求…

关注、取关、Redis实现共同关注、 博客推送与分页查询

Resourceprivate StringRedisTemplate stringRedisTemplate;Resourceprivate IUserService userService;Overridepublic Result follow(Long followUserId, Boolean isFollow) {//1.获取登陆的用户Long userId UserHolder.getUser().getId();//1.判断是关注还是取关if(isFollo…

基于Springboot+Vue的小区运动中心预约管理系统的设计与实现 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这段数…

FPGA-UART串口接收模块的理解

UART串口接收模块 背景 在之前就有写过关于串口模块的文章——《串口RS232的学习》。工作后很多项目都会用到串口模块&#xff0c;又来重新理解一下FPGA串口接收的代码思路。 关于串口相关的参数&#xff0c;以及在文章《串口RS232的学习》中已有详细的描述&#xff0c;这里就…

Linux启动mysql报错

甲方公司意外停电&#xff0c;所有服务器重启后&#xff0c;发现部署在Linux上的mysql数据库启动失败.再加上老员工离职&#xff0c;新接手项目&#xff0c;对Linux系统了解不多&#xff0c;解决起来用时较多&#xff0c;特此记录。 1.启动及报错 1.1 启动语句1 启动语句1&a…

Java编程基础(Scanner类==>循环语句)

文章目录 前言一、Scanner类1.创建Scanner对象2.使用3.实践 二、if条件语句1.简单if语句2.if-else语句3.if-else if-else语句3.实践 三、switch 开关语句四、循环语句1.for语句2.while语句3.do-while语句4.break和continue语句 总结 前言 我们发现在学习Java语言编程基础时&am…

【GEE数据库】WRF常用数据集总结

【GEE数据库】WRF常用数据集总结 GEE数据集介绍数据1:MODIS数据集LAI(叶面积指数)和Fpar(绿色植被率)年尺度土地利用类型数据2:月反射率(Monthly Albedo)数据3:LULC和ISA参考GEE数据集介绍 GEE数据搜索网址-A planetary-scale platform for Earth science data &…

(PyTorch) 深度学习框架-介绍篇

前言 在当今科技飞速发展的时代&#xff0c;人工智能尤其是深度学习领域正以惊人的速度改变着我们的世界。从图像识别、语音处理到自然语言处理&#xff0c;深度学习技术在各个领域都取得了显著的成就&#xff0c;为解决复杂的现实问题提供了强大的工具和方法。 PyTorch 是一个…

9.30学习记录(补)

手撕线程池: 1.进程:进程就是运行中的程序 2.线程的最大数量取决于CPU的核数 3.创建线程 thread t1; 在使用多线程时&#xff0c;由于线程是由上至下走的&#xff0c;所以主程序要等待线程全部执行完才能结束否则就会发生报错。通过thread.join()来实现 但是如果在一个比…

08.STL简介

1. 什么是STL STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的 组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架 2.发展历史 1. 起源与早期探索&#xff08;20世纪80年代初期&#xff09;&#xff…

可变形卷积(Deformable Convolution)是什么?

普通卷积 普通卷积&#xff08;dilation1&#xff09; 普通卷积就是特征图与卷积核的权重W相乘再求和 y(p0​) 表示输出特征图在位置 p0​ 的值。&#x1d465;(&#x1d45d;0&#x1d45d;&#x1d45b;)表示输入特征图在位置 pn​ 的值。&#x1d464;(&#x1d45d;&…

烟火烟雾检测数据集 9600张 烟雾火焰检测 带标注 voc yolo 2类 烟火数据集 烟雾数据集 烟火检测烟雾检测

烟火检测数据集 9600张 烟雾火焰检测 带标注 voc yolo 烟火检测数据集介绍 数据集名称 烟火检测数据集 (Fire and Smoke Detection Dataset) 数据集概述 该数据集专为训练和评估基于YOLO系列目标检测模型&#xff08;包括YOLOv5、YOLOv6、YOLOv7等&#xff09;而设计&#x…

malloc源码分析之 ----- 你想要啥chunk

文章目录 malloc源码分析之 ----- 你想要啥chunktcachefastbinsmall binunsorted binbin处理top malloc源码分析之 ----- 你想要啥chunk tcache malloc源码&#xff0c;这里以glibc-2.29为例&#xff1a; void * __libc_malloc (size_t bytes) {mstate ar_ptr;void *victim;vo…

Qt Quick 3D 入门:QML 3D场景详解

随着 Qt 6 的发布&#xff0c;QtQuick3D 模块带来了新的 3D 渲染和交互能力&#xff0c;使得在 Qt 中创建 3D 场景变得更加简单和直观。本文将带您从一个简单的 QML 3D 应用开始&#xff0c;详细讲解各个相关领域的概念、代码实现以及功能特点。 什么是 Qt Quick 3D&#xff1…

C++拾趣——绘制Console中Check Box

大纲 居中显示窗口清屏并重设光标绘制窗口绘制窗口顶部绘制复选项绘制按钮行绘制窗口底部 修改终端默认行为对方向键的特殊处理过程控制Tab键的处理Enter键的处理上下左右方向键的处理 完整代码代码地址 这次我们要绘制复选框&#xff0c;如下图。 居中显示窗口 按照界面库的…