【网络安全的神秘世界】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:行内式

代码举例:

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

分析:

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

方法2:内嵌式

代码举例:

<script type="text/javascript">alert('马哥教育');
</script>

分析:

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

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

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

test.js:

alert('马哥教育');

分析:

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

JS一些简单的语法规则

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

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

等价于代码:

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

备注

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

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

(3)严格区分大小写

注释

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

HTML的注释

<!-- 我是HTML的注释 -->

CSS的注释

/* 我是CSS注释 */

JavaScript的注释

// 我是JavaScript的注释 

JavaScript输入输出语句

弹出警告框:alert()

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

cookie:验证用户身份

alert(document.cookie);

控制台输出:console.log(‘’)

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

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

弹出输入框:prompt()

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

prompt('请输入:');

调出打印机:print()

print(20);

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

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

相关文章

小猪APP分发:让APP封装变得如此简单

你是否曾经在开发完一款APP后&#xff0c;为了封装、分发而头疼不已&#xff1f;别担心&#xff0c;小猪APP分发来拯救你了&#xff01;这款神器不仅能让你的工作变得更加高效&#xff0c;还能让你的APP在各大平台上顺利分发。 小猪APP封装www.ppzhu.net APP封装的挑战 开发一…

2024-06-04 架构-不同层次的抽象的处理-分析

摘要: 2024-06-04 架构-不同层次的抽象的处理-分析. 不同层次的抽象: 将事情做不同的情况的解耦&#xff0c;关于在于理解事情本身的性质&#xff0c;如何解耦&#xff0c;如何处理当将事情解耦成不同的情况后&#xff0c;就可以针对不同的事情&#xff0c;最不同的处理。这么…

docker 停止重启容器命令start/stop/restart详解(容器生命周期管理教程-2)

Docker 提供了多个命令来管理容器的生命周期&#xff0c; 其中start、stop 和 restart。这些命令允许用户控制容器的运行状态。 1. docker start 命令格式&#xff1a; docker start [OPTIONS] CONTAINER [CONTAINER...]功能&#xff1a; 启动一个或多个已经停止的 Docker …

i.MX8MP平台开发分享(CSU控制器篇)

芯片使用 CSU&#xff08;Central Security Unit&#xff09; 来管理所有不直接支持安全&#xff08;如 CPU 内核&#xff09;的主/从设备的安全。 ATF中的CSU配置如下&#xff0c;OCARM和OCRAM_S被配置为了安全等级2&#xff0c;非锁定状态。 static const struct imx_csu_c…

WLAN工作原理

目录 一、引言二、FAT AP的工作模式与挑战三、FIT APAC的组网方式四、CAPWAPI隧道技术五、WLAN网络的关键报文六、漫游机制七、总结 一、引言 随着无线网络的迅猛发展&#xff0c;WLAN&#xff08;无线局域网&#xff09;技术已广泛应用于各个领域&#xff0c;为企业和个人提供…

若依 ruoyi-vue element-ui el-cascader 级联选择器 选择任意一级选项,去掉单选按钮,选中点击后隐藏

Cascader 级联选择器 选择任意一级选项&#xff0c;去掉单选按钮。 这兄弟文章写的可以&#xff0c;查了一堆文章&#xff0c;基本搞完才发现。 官方的例子不支持选中后自动关闭&#xff0c;要点击旁边空白&#xff0c;并且单选框太小了。 <el-form-item label"所属地…

基于SSM+Jsp的二手手机回收平台系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

libsystemctlm-soc项目分析

概述 libsystemctlm-soc项目是Xilinx的SystemC库。 环境安装 verilator安装 # Prerequisites: #sudo apt-get install git help2man perl python3 make autoconf g flex bison ccache #sudo apt-get install libgoogle-perftools-dev numactl perl-doc #sudo apt-get insta…

java 使用WebClient发送https请求

核心逻辑 绕过ssl证书检查 具体操作 话不多说上代码 // 构建WebClient public static WebClient createWebClient() throws SSLException {SslContext context SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build();HttpClient htt…

JavaScript 从入门到精通Object(对象)

文章目录 对象文本和属性方括号计算属性 属性值简写属性名称限制属性存在性测试&#xff0c;“in” 操作符“for…in” 循环像对象一样排序 总结✅任务你好&#xff0c;对象检查空对象对象属性求和将数值属性值都乘以 2 对象引用和复制通过引用来比较克隆与合并&#xff0c;Obj…

Keil编译bin格式固件方法

打开Option选项卡&#xff0c;选择User&#xff0c;在After Build/Rebuild下面增加以下命令&#xff1a; fromelf.exe --bin -o "L.bin" "#L"

C++构建MVC学生信息管理系统

一、头文件创建数据结构 student.h #pragma once #include<vector>struct student //定义student结构体 说明学生的基本信息 { int id;char name[8];int age;int score; };class View { //定义窗口类 涵盖基本功能和学生数据 private:int id 1001; //初始学生idvecto…

四川菊乐食品IPO终止:收入增速放缓,内控缺陷遭关注,产能过剩

近日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;四川菊乐食品股份有限公司&#xff08;下称“菊乐股份”或“菊乐食品”&#xff09;及其保荐人中信建投证券撤回上市申请文件。因此&#xff0c;深圳证券交易所决定终止对该公司首次公开发行股票并在主板上市的审核。…

一文看懂llama2(原理模型训练)

自从Transformer架构问世以来&#xff0c;大型语言模型&#xff08;Large Language Models, LLMs&#xff09;以及AIGC技术的发展速度惊人&#xff0c;它们不仅在技术层面取得了重大突破&#xff0c;还在商业应用、社会影响等多个层面展现出巨大潜力。随着ChatGPT的推出&#x…

vscode 好用的插件

转中文插件 Chinese 官网&#xff1a;Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code - Visual Studio Marketplace vue文件模板快速生成 Vue VSCode Snippets 官网&#xff1a;Vue VSCode 代码段 - Visual Studio Marketplace

提示词工程基础:定义与重要性

目录 一、引言二、提示词工程的定义1. 概念明晰2. 技术框架3. 功能作用 三、提示词工程的重要性1. 核心作用强调2. 提升效率与降低成本3. 推动技术发展与创新 四、提示词工程的组成部分1. 提示词设计2. 模型训练与调整3. 效果评估与优化 五、实际应用示例1. 虚拟助手2. 自动新闻…

宝塔部署vue+springboot过程(图文)

宝塔是傻瓜式操作部署&#xff0c;xshell是用linux命令部署 &#xffe5;过程&#xffe5; 整个流程具体服务器开端口在阿里云服务器打开3306端口&#xff08;有用到的端口都要打开&#xff09;宝塔&#xff1a;添加数据库获取数据库名、用户名、密码&#xff1b;点击“工具”…

Kafka 消息保留时长由 24 小时变更为 72 小时的影响分析

目录 Kafka 消息保留时长由 24 小时变更为 72 小时的影响分析Kafka 消息存储机制保留时长对生产速度的影响保留时长对消费速度的影响底层分析与优化建议附加&#xff1a;将 Kafka 消息保留时长从 24 小时更改为 72 小时后&#xff0c;CPU 使用率从 40% 上升到 70% 的现象1. 增加…

【TensorFlow深度学习】LSTM/GRU在情感分类任务中的对比应用

LSTM/GRU在情感分类任务中的对比应用 LSTM与GRU在情感分类任务中的对比应用&#xff1a;深度情感分析的门控力量LSTM与GRU机制对比应用场景&#xff1a;情感分类代码实例结论 LSTM与GRU在情感分类任务中的对比应用&#xff1a;深度情感分析的门控力量 在自然语言处理的广阔领域…

深入解析Java中的Stream API:简化数据处理与提升开发效率

摘要&#xff1a; Java 8引入的Stream API是Java编程语言的一个重要里程碑&#xff0c;它为数据处理提供了声明式的方法。本文将深入探讨Java Stream API的原理、特点以及实现方式&#xff0c;并通过丰富的代码案例展示如何在Java应用程序中使用Stream API进行数据处理。 引言…