【网络安全的神秘世界】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封装的挑战 开发一…

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

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

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…

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"

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

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

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

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

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

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

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

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

JavaSE——【逻辑控制】(知识)

目录 前言 一、顺序结构 二、分支结构 三、循环结构 总结 前言 公元 3050 年&#xff0c;地球的科技已经发展到令人难以想象的地步。这天&#xff0c;艾米莉在自己的房间里启动了最新的虚拟旅行装置&#xff0c;下一秒&#xff0c;她发现小奥奇的博客更新了。立即放弃了虚…

我们设计制造MW级水冷负载电阻器-数据中心船舶岸电发电机组测试大功率负载RLC阻感容集装箱负载

UEPR系列电阻采用先进材料制造&#xff0c;采用专利设计&#xff0c;将电阻与冷却液完全隔离&#xff0c;为水冷应用提供重量轻、体积小、超大功率的解决方案。其革命性的模块化设计意味着它们可以串联在一起&#xff0c;以满足您的电力需求。应用于发电、电力传输、电气传动等…

【python】OpenCV—Cartoonify and Portray

参考来自 使用PythonOpenCV将照片变成卡通照片 文章目录 1 卡通化codecv2.medianBlurcv2.adaptiveThresholdcv2.kmeanscv2.bilateralFilter 2 肖像画cv2.divide 1 卡通化 code import cv2 import numpy as npdef edge_mask(img, line_size, blur_value):gray cv2.cvtColor(…

ChatGPT 宕机部分用户访问报错 api key开发应用不影响

就在今日4号下午&#xff0c;有部分用户反映ChatGPT访问报错&#xff0c;不幸的是&#xff0c;ChatGPT 目前对某些用户不可用 - 该问题已被发现&#xff0c;OpenAI 团队正在努力解决它 似乎就api 开发使用key的应用不受影响 以下是对接ChatGPT api key开发的应用正常对话

Numba 的 CUDA 示例(3/4):流和事件

本教程为 Numba CUDA 示例 第 3 部分。 按照本系列的第 3 部分&#xff0c;了解 Python CUDA 编程中的流和事件 介绍 在本系列的前两部分&#xff08;第 1 部分&#xff0c;第 2 部分&#xff09;中&#xff0c;我们学习了如何使用 GPU 编程执行简单的任务&#xff0c;例如高度…

代码随想录——二叉搜索树的最近公共祖先(Leetcode235)

题目链接 普通递归法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode…

创建 MFC DLL-使用关键字_declspec(dllexport)

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 从MFC DLL中导出函数的另一种方法是在定义函数时使用关键字_declspec(dllexport)。这种情况下&#xff0c;不需要DEF文件。 导出函数的形式为&#xff1a; declspec(dll…

对称二叉树[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个二叉树的根节点root&#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xf…