JAVA前端快速入门基础_javascript入门(01)

news/2024/5/20 12:05:19

写在前面:本文用于快速学会简易的JS,仅做扫盲和参考作用

1.JS是什么

JavaScript是一门跨平台,面向对象的脚本语言(即不需要编译,可以直接通过浏览器进行解释)。JS和Java是两门完全不相同的语言,但是基础的语法是类似的

2.JS的引入方式

JS如何在前端代码里面体现作用。有两种方式,一种是内部脚本,一种是外部脚本

注意,JS代码必须放在 script标签里面,一个页面可以放置任意数量的script,一般建议把js放在body的后面,这样可以改善页面显示的速度。js可以放在html页面的任意位置,不影响他的使用(即使放在html标签的后面也可以正常运行)

2.1内部脚本:将JS代码写在HTML里面

内部脚本调用如下所示:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script>alert("JS is")</script>
</head>
<body></body>
</html>

效果如下所示:
请添加图片描述
证明了JS代码运行成功

2.外部脚本:将JS代码定义在一个新的文件里

类似于其他语言库的定义,即将需要执行的JS代码放在一个新的js文件里,然后通过调用的方式来执行js的的代码。
首先,我们创建一个新的叫jswai.js的文件,并输入以下内容。

alert("in js")

然后再html页面做这样引用,通过script里面的src的效果可以达到与内部调用一样的效果

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="jswai.js"></script>
</head>
<body></body>
</html>
<script>alert("JS is")</script>

需要额外注意的是,script标签无法实现自闭和,即使用了script必须要使用对应的/script,不然会导致js脚本执行不成功

3.JS基础语法

3.1书写语法

3.1.1 区别大小写(即变量A和a不是一个变量)
3.1.2 每行结尾的分号可有可无,即支持c++每行必须有;也支持python的不需要;
3.1.3 单行注释//,多行注释为/**/
3.1.4 大括号表示代码块,和众多强语言一样

常用的输出语句(类似于c++的printf):

  1. window.alert():显示到弹出框上,上面在内部脚本调用的时候已经看到了效果图
  2. document.write():显示到html页面上,即直接运行出来的结果变成html,显示到浏览器里面
  3. console.log():写在了浏览器控制台上,使用f12打开console即可看到输出效果
3.2变量

可以直接使用var来声明变量,这个变量可以存放不同类型的值,变量的名称可以用数字、字母、_(下划线)、和$来表示,但是在定义的时候不可以使用数字作为开头(和别的语言一样),var定义的变量可以支持下面操作:

var a=1
a ="123"

var的作用域属于全局变量,类似于c++里面的#define,不仅仅代码块可以调用,代码块外面的代码也可以进行调用。如果只想被代码块里面调用,而不想被外面的代码调用,可以用let替换var,如果要设置一个不可变换的常量值,可以使用const(这一点和c++保持一个特性),并且let不可以重复定义一个变量。即执行下面这段代码会发生报错

let a=1
let a=2

虽然运行起来反应到浏览器上没有显示效果,但其实f12打开开发者工具后,可以看到js代码已经执行错误了。(如果这段script里面后续还有代码,则后续代码不会执行[因为已经报错了],但是如果在script外面[即script标签的外面]还有html代码,则html代码会正常的显示在页面上)
请添加图片描述
let可以支持改变值,例如可以这样而不会造成代码的报错

let a=1
a=2
3.3数据类型

JS的基础数据类型主要有以下五种:
number:数字类型
string:字符串类型
boolean:布尔类型
null:空类型
undefined:未初始化类型
使用typeof()可以获取变量的类型,如下代码即可获得

typeof(a)//即可获得a的数据类型
3.4运算符

运算符和java几乎一样,但是增添多了一个===。

=== 和 ==的区别在于 == 会做类型转换, ===不会做类型转换。如下代码即可弄懂两者区别。

var a= 10
var b="10"
if (a==b){代码块一
}
if (a===b){代码块二
}

这个代码的运行结果是会执行代码块一,而不执行代码块二,第一个直接类型转换使得a和b都是10,所以等式成立。第二个因为类型不符合所以直接if语句不成立导致不执行代码块二。


http://www.mrgr.cn/p/74644807

相关文章

MySQL学习之explain

from之后的查询得到的表叫做衍生表,是临时表数据,生成临时表之后的数据是无法使用索引的,如果数据量大查询效率就会比较低,这就是查询要尽量少使用子查询这些临时表。explain详解 id: 表示查询序号,也可以表示优先级;当值都不一样的时候,值越大表示优先级越高,越先执行…

实验12-使用keras预训练模型完成猫狗识别

版本python3.7 tensorflow版本为tensorflow-gpu版本2.6 运行结果: 这里我用Gpu进行加速,训练一回9秒,如果不启用gpu,训练一回会很慢。 代码:#-*- codeing = utf-8 -*- #@Time : 2022/10/2 11:44 #@Author : 程浩 #@File : 猫狗识别.py #@Software: PyCharm import tensor…

KVM虚拟机迁移(静态)

1.查看虚拟机状态,确认关闭状态 virsh list --all 2.查看虚拟机文件位置 virsh domblklist zabbix3.导出配置文件并查看导出文件 virsh dumpxml zabbix > /root/zabbix.xml 4.把刚导出的配置文件传到目的服务制定路径(路径为虚拟机配置文件位置)scp zabbix.xml 10.10.7.1…

实验11-使用keras完成逻辑回归

版本python3.7 tensorflow版本为tensorflow-gpu版本2.6 运行结果: 代码:import numpy as npfrom keras.models import Sequential from keras.layers import Dense, Dropout, Activation, Flatten import matplotlib.pyplot as plt from sklearn import datasets# 样本数据集…

【工具-PyCharm】

工具-PyCharm ■ PyCharm-简介■ PyCharm-安装■ PyCharm-使用■ 修改主题■ 设置字体■ 代码模板■ 解释器配置■ 文件默认编码■ 快捷键■ 折叠■ 移动■ 注释■ 编辑■ 删除■ 查看■ 缩进■ 替换 ■ PyCharm-简介 官方下载地址 Professional&#xff1a;专业版&#xff0…

Linux KASAN使用与实现原理

一、KASAN工具使用 KASAN工具&#xff1a;Kernel Address SANitizer(KASAN)是一种动态内存安全错误检测工具&#xff0c;主要功能是检查内存越界访问和使用已释放内存的问题。 1.1 KASAN宏控开关 KASAN有三种模式&#xff1a;1.通用KASAN&#xff1b;2.基于软件标签的KASAN&…

实验8-1tensorboard可视化+实验8-2tensorboard案例

版本python3.7 tensorflow版本为tensorflow-gpu版本2.6 实验8-1tensorboard可视化运行结果:代码:import tensorflow as tf# 创建默认图 graph = tf.compat.v1.get_default_graph()# 定义命名空间 with graph.as_default():with tf.name_scope(input):# fetch:就是同时运行多…

科技论文网站:中国科技论文在线

文章目录 1. Intro2. Main3. Cons Evaluation彩蛋&#xff1a;科学素质 这是作者最后一次发 这种类型的宣传 科普文章 1. Intro 中国科技论文在线是经教育部批准&#xff0c;由教育部科技发展中心主办&#xff0c; 利用现代信息技术手段&#xff0c;打破传统出版物的概念&…

虚方法

若一个实例方法声明前带有virtual关键字,那么这个方法就是虚方法。虚方法与非虚方法的最大不同是,虚方法的实现可以由派生类所取代,这种取代是通过方法的重写实现的(以后再讲)虚方法的特点:虚方法前不允许有static,abstract,或override修饰符虚方法不能是私有的,因此不能…

【Vue】如何使用Webpack实现打包操作

一、Webpack介绍 Webpack最主要的作用就是打包操作&#xff0c;由两个核心部分构成分别是“出口”与“入口”。wbepack是现在比较热门的打包工具了&#xff0c;它可以将许多松散耦合的模块按照依赖和规则打包成符合生产环境部署的前端资源。说的直白一点&#xff0c;通过webpac…

RPC(远程过程调用)详解

一、RPC是什么 RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 二、RPC需要解决的问题 1、Call ID映射 我们怎么告诉远…

【基础算法总结】双指针算法二

双指针 1.有效三角形的个数2.和为S的两个数字3.和为S的两个数字4.四数之和 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.有效三角形的个数…

前端工程化Vue使用Node.js设置国内高速npm镜像源(踩坑记录版)

前端工程化Vue使用Node.js设置国内高速npm镜像源&#xff08;踩坑记录版&#xff09; 此篇仅为踩坑记录&#xff0c;并未成功更换高速镜像源&#xff0c;实际解决方法见文末跳转链接。 1.自身源镜像 自身镜像源创建Vue项目下载速度感人 2.更改镜像源 2.1 通过命令行配置 前提…

京东web端h5st—4.7逆向分析

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6Ly93d3cuamQuY29tLw== 分析流程了解h5st 看了sha256相关加密算法逻辑b…

API和微服务设计的优化方式有哪些?

在构建响应迅速、用户体验良好的应用程序中&#xff0c;API性能的优化至关重要。在构建高性能的API时&#xff0c;采取综合策略是至关重要的。通过采用一系列策略&#xff0c;我们可以确保API在处理请求时高效运行&#xff0c;提供流畅的服务。 一、API和微服务设计的优化可以…

XYCTF2024-web-wp

怎么全是傻逼绕过题。 不想评价,就随便打着玩,除了最后一道java反序列化搞心态,其他的ak了:简单题不想说,http注意一下代理是用Via就行,warmup直接:http://xyctf.top:37034/?val1=240610708&val2=QNKCDZO&md5=0e215962017&XYCTF=240610708&XY=24061070…

深入mysql索引

1. 索引 索引是对数据库表中一列或多列的值进行排序的一种结构。 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。 简单类比…

平衡树炫酷科技

炫酷平衡树科技标题是吸引你点进来的 Case 1 LCT 的 access 操作应该可以实现某种区间覆盖的操作(听同学讲的,具体的还待讨论) Case 2 众所周知,可并堆中左偏树合并是这样写的(记 \(dist\) 为 \(rd\)): merge(A, B)if !A: return Bif !B: return Aif B.val > A.valsw…

杰发科技AC7840——ADC简介(1)_双路ADC同时使用

0. 简介 1. 特性 2. 双路ADC Sample里面没有双路的&#xff0c;以为那个规则组只有一个通道&#xff0c;看了外设寄存器才发现&#xff0c;原来他的通道是双路的。 注意1: ADC硬件引脚的配置 注意2: 规则组长度设置和 RSEQ序列号和CH通道号组合应该就对应了转换顺序&#xff0…

UniAD:以规划为导向的端到端自动驾驶

文章链接 这个文章是CVPR2023 Best Paper https://arxiv.org/pdf/2212.10156 提出背景 以往的自动驾驶多数是为不同的任务场景设计部署单独的模型&#xff0c;这样子组成的系统会很复杂如图a。 图b这是多任务共享一个主干&#xff0c;但还是要分离训练&#xff0c;而且不是…