JavaScript 简介
JavaScript 的特点
- 易学
- 弱类型。定义变量只需要
var
/let
/const
这三个关键字。
JavaScript 的组成
- ECMAScript:JS 的语法
- DOM Document Object Model:浏览器提供的操作 HTML 节点的 API
- BOM Browser Object Model:浏览器提供的操作浏览器、系统环境的 API
JavaScript 的特点
- 解释型语言。边解释边执行。
- 单线程。
- ECMAScript 标准。European Computer Manufactures Association 欧洲计算机制造商协会制定和发布的语言规范。
编程语言的分类
翻译器:把语言翻译成计算机能够执行的工具。
根据代码执行时机不同分为:
- 编译器。实现将所有代码编译成中间文件,再一起执行。
- 解释器。边解释边执行。
对应的语言称之为 编译型语言 解释型语言。
编译型语言
优点:执行很快。
缺点:移植性差,有中间产物。
例子:C、C++、Java
严格来说,Java 不算编译型语言,它先编译成
.class
文件,然后通过 JVM 执行实现了跨平台。
解释型语言
优点:没有中间产物
缺点:执行速度比编译型语言慢。
举例:JavaScript、PHP、Python
第一行 JavaScript 代码
JavaScript 在浏览器中,有多种执行位置。
行内式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<!-- 行内式 -->
<input type="button" value="Click Me" onclick="alert('Hello World')">
</body>
</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>
</head>
<script>
// 内嵌式
alert('Hello World')
console.log('Hello World')
</script>
</body>
</html>
外链式
./demo.js
alert('Hello World!')
console.log('Hello World!')
./demo.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>
</head>
<!-- 外链式 -->
<script src="./demo.js"></script>
</body>
</html>
JS 语法规则
- 换行、缩进、空格不敏感。
- 所有符号都是英文符号。
- 严格区分大小写。
注释
行内注释
// I am comment.
多行注释
/*
I am comment.
*/
VSCode 中
-
行内注释:ctrl + / (cmd + /)
-
多行注释:alt + shift + a (option + shift + a)
输入输出
alert
console.log
prompt
: 和alert
一样,但是可以接受用户输入。
在安全测试的时候,会经常用到
<script>alert(‘Hello World’)</script>
这样的脚本片段作为安全测试,一方面是为了方便测试,另一方面是不会造成太大的影响。