当前位置: 首页 > news >正文

JavaScript-上篇

 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'));//12alert(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);//numberalert(typeof 3.14);//numberalert(typeof true);//booleanalert(typeof false);//booleanalert(typeof "HEllo!");//stringalert(typeof 'A');//stringalert(typeof null);//objectvar 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.mrgr.cn/news/42593.html

相关文章:

  • jmeter学习(4)提取器
  • UE4 材质学习笔记02(数据类型/扭曲着色器)
  • 云原生化 - 基础镜像(简约版)
  • JavaWeb(一)
  • 加密与解密
  • Kafka为啥比RocketMQ快
  • FANUC机器人—PCDK
  • 《Linux从小白到高手》理论篇:深入理解Linux的计划任务/定时任务
  • Spiff,一个超牛的Python库
  • 【精】Java编程中的Lambda表达式与Stream API
  • NVIDIA 机密计算
  • 进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
  • SOMEIP_ETS_151: SD_Send_triggerEventUINT8Reliable_Eventgroup_2
  • Leetcode—279. 完全平方数【中等】
  • 数据结构与算法 绪论
  • 【优选算法】(第十九篇)
  • C++11 语法特性:auto 与范围 for 循环详解
  • 数据结构与算法——Java实现 28.二叉树的锯齿形层序遍历
  • iterator的使用+求数组中的第n大值+十大经典排序算法
  • 关于懒惰学习与渴求学习的一份介绍