【网络安全的神秘世界】JavaScript

🌝博客主页:泥菩萨

💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本

01-JavaScript简介

JavaScript背景

2003年之前,JavaScript被称为"牛皮藓",用来制作页面上的广告、弹窗、漂浮的广告

2004年,JavaScript命运开始改变,谷歌公司开始带头使用Ajax技术

2007年,JavaScript在移动中不可或缺

JavaScript介绍

JavaScript入门易学性

  • JavaScript对初学者比较友好、简单易用。可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序
  • JavaScript是有界面效果的(相比之下,C语言只有白底黑字)
  • avaScript是弱变量类型的语言,变量只需要用 var/let/const 来声明。而lava中变量的声明,要根据变量的类型来定义

JavaScript是脚本语言

JavaScript运行在用户的终端网页上,而不是服务器上,此时我们称之为**"前端语言"**。就是服务于页面的交互和视觉,不能直接操作数据库

后端语言是运行在服务器上的,比如PHP、ASP、JSP等,这些语言能够操作数据库,进行"增删改查"操作

备注:Node.js是用JavaScript开发的,我们也可以用Node.js技术进行服务器端编程

JavaScript的组成

JavaScript基础分为三个部分:

  • ECMAScript:JavaScript的语法标准(遵循规范)
  • DOM :文档对象模型,操作页面上的元素的API
  • BOM :浏览器对象模型,操作浏览器部分功能的API

JavaScript的特点

特点1:解释型语言

JavaScript是解释型语言,不需要事先被翻译为机器码,而是边翻译边执行(翻译一行,执行一行)

特点2:单线程

同一时间只能做一件事情

特点3:ECMAScript标准

HTML遵循W3C标准

JavaScript遵行ECMAScript标准

编译语言的分类

翻译器

计算机不能直接理解除机器语言之外的任何语言,所以必须要把程序员所编写的语言翻译成机器语言,计算机才能执行程序,程序语言翻译成机器语言的工具,被称为翻译器

翻译器翻译的方式有两种:一种是编译 ,另一种是解释 。两种方式之间的区别在于翻译的时机不同

  • 编译:在代码执行前,事前把所有的代码一次性翻译好,生成中间代码文件,然后整体执行
  • 解释:边翻译,边执行

对应的语言,称之为"编译型语言"、"解释型语言"

编译型语言

优点:运行更快

不足:移植性不好,不跨平台

语言:c、c++、go

解释型语言

优点:移植性好,跨平台

不足:运行更慢

语言:JavaScript、php、Python

Java语言

Java语言既不是编译型语言,也不是解释型语言。翻译过程:

(1) 编译:.java代码文件先通过javac命令编译成.class文件

(2)执行:.class文件再通过jvm虚拟机,解释执行。有了jvm的存在,让java跨平台了

安装JavaScript

首先需要安装nodejs

Node.js

VSCode安装Code Runner插件

开始写第一行JavaScript代码

方式1:行内式

代码举例:

html 复制代码
<input type="button" value="点我" onclick="alert('马哥教育')"/>

分析:

  • 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性)
  • 这种书写方式,不推荐使用,原因是:可读性差,编写大量JS代码时,容易出错

方法2:内嵌式

代码举例:

html 复制代码
<script type="text/javascript">
	alert('马哥教育');
</script>

分析:

  • text表示纯文本,因为JavaScript也是一个纯文本的语言
  • type="text/javascript":声明语言为JavaScript,写不写都行
  • 可以将多行JS代码写到<script>标签中

方法3:引用外部的JS文件

html 复制代码
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>test</title>
</head>
<body>
	<!-- 引入外部的js文件 -->
	<script src="test.js"></script>
</body>
</html>

test.js:

javascript 复制代码
alert('马哥教育');

分析:

  • 把放在<script>标签中的代码放在js文件,再通过<script>标签中的src属性引入
  • js代码和html代码分开,有利于代码的结构化和复用

JS一些简单的语法规则

(1)JS对换行、缩进、空格不敏感,每一条语句以分号结尾

javascript 复制代码
<script type="text/javascript">
	alert('今天星期一');
	alert('天气晴🌤');
</script>

等价于代码:

javascript 复制代码
<script type="text/javascript">
	alert('今天星期一');alert('天气晴🌤');
</script>

备注

(1)每一条语句末尾要加上分号,如果不写分号,浏览器会自动添加,但是会消耗一些系统资源

(2)所有的符号都是英语的

(3)严格区分大小写

注释

我们不要把HTML、CSS、JavaScript三者的注释格式搞混淆了

HTML的注释

html 复制代码
<!-- 我是HTML的注释 -->

CSS的注释

css 复制代码
/* 我是CSS注释 */

JavaScript的注释

javascript 复制代码
// 我是JavaScript的注释 

JavaScript输入输出语句

弹出警告框:alert()

安全中,我们会用alert来弹出cookie,获得用户的身份

cookie:验证用户身份

javascript 复制代码
alert(document.cookie);

控制台输出:console.log('')

再浏览器中,按F12即可打开控制台,选择「console」

总结:alert()主要用来显示消息给用户,console.log用来给程序员自己调试的

弹出输入框:prompt()

prompt( )就是专门用来弹出能够让用户输入的对话框,用的少,测试的时候偶尔会用

javascript 复制代码
prompt('请输入:');

调出打印机:print()

javascript 复制代码
print(20);
相关推荐
CodeClimb32 分钟前
【华为OD-E卷-木板 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
咸鱼翻面儿36 分钟前
Javascript异步,这次我真弄懂了!!!
javascript
qq_589568101 小时前
Echarts的高级使用,动画,交互api
前端·javascript·echarts
鸭梨山大。2 小时前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
黑客老陈2 小时前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
暴富的Tdy3 小时前
【CryptoJS库AES加密】
前端·javascript·vue.js
℘团子এ3 小时前
js和html中,将Excel文件渲染在页面上
javascript·html·excel
胡西风_foxww5 小时前
【es6复习笔记】Promise对象详解(12)
javascript·笔记·es6·promise·异步·回调·地狱
无泡汽水5 小时前
漏洞检测工具:Swagger UI敏感信息泄露
python·web安全