JavaScript | 青训营笔记

82 阅读2分钟

一、简介

JavaScript 的起源可以追溯到 1995 年,当时网景公司(Netscape Communications Corporation)的 Brendan Eich 在 10 天内创建了一种名为 LiveScript 的脚本语言,用于网页交互。不久之后,网景与 Sun Microsystems 合作,将 LiveScript 改名为 JavaScript,以期在 Java 热潮中获得更好的营销效果。

JavaScript 最初的版本在 Netscape Navigator 2.0 浏览器中首次出现,由于当时没有标准化机构,各个浏览器都有自己的实现方式,因此导致了浏览器兼容性问题。1997 年,欧洲计算机制造商协会(ECMA)制定了 JavaScript 的标准,称为 ECMAScript,目前已经发展到第 12 版。

自从诞生以来,JavaScript 在 Web 开发中扮演了非常重要的角色,几乎所有的现代网页都需要 JavaScript 来实现各种动态效果和交互功能。同时,随着 Node.js 的出现,JavaScript 也逐渐成为一种可以用于服务器端编程的语言。

好的,以下是我整理的 JavaScript 学习笔记:

JavaScript 是一种用于网页编程的脚本语言。它可以用于增强网站的交互性和动态性,使用户能够与网站进行更多的交互。

二、基础语法

数据类型

JavaScript 中有五种基本数据类型:

  • 数字(Number)
  • 字符串(String)
  • 布尔值(Boolean)
  • undefined
  • null

变量声明

使用 var 关键字可以声明一个变量,如下:

var x = 10;

运算符

JavaScript 中的运算符包括算术运算符、比较运算符和逻辑运算符等。

条件语句

JavaScript 中的条件语句包括 if 语句和 switch 语句。

if (condition) {
  // 代码块
} else {
  // 代码块
}
switch (expression) {
  case value1:
    // 代码块
    break;
  case value2:
    // 代码块
    break;
  default:
    // 代码块
}

循环语句

JavaScript 中的循环语句包括 for 循环、while 循环和 do-while 循环。

for (var i = 0; i < 10; i++) {
  // 代码块
}
while (condition) {
  // 代码块
}
do {
  // 代码块
} while (condition);

函数

JavaScript 中的函数可以通过 function 关键字进行声明。

function functionName(parameters) {
  // 代码块
}

对象

JavaScript 中的对象是由键值对组成的集合,可以使用 . 运算符访问对象的属性。

var person = {
  firstName: "John",
  lastName: "Doe",
  age: 25,
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};

DOM 操作

DOM(Document Object Model)是指 HTML 文档的对象模型,通过 JavaScript 可以对其进行操作。

获取元素

可以使用 document.getElementById() 方法获取页面中的元素。

var element = document.getElementById("myId");

修改元素内容

可以使用 innerHTML 属性修改元素的内容。

var element = document.getElementById("myId");
element.innerHTML = "New content";

修改元素样式

可以使用 style 属性修改元素的样式。

var element = document.getElementById("myId");
element.style.color = "red";

事件处理

JavaScript 可以通过事件处理程序响应用户的交互行为,如单击、鼠标移动等。

事件类型

JavaScript 支持的事件类型包括:

  • 鼠标事件(click、mouseover、mouseout 等)

  • 键盘事件(keydown、keyup 等)

  • 表单事件(submit、change、focus 等)

  • 网页文档和资源加载事件(DOMContentLoaded、load 等)

  • 视频和音频播放事件(play、pause、ended 等)

  • 动画和过渡事件(animationstart、transitionend 等)

  • 网络事件(online、offline 等)

  • 剪贴板事件(cut、copy、paste 等)

  • 设备事件(orientationchange、devicemotion 等)

三、实例

下是获取一个图像并通过监控键盘实现移动的 JavaScript 代码示例:

<!DOCTYPE html>
<html>
<head>
	<title>移动图像</title>
	<style>
		canvas {
			border: 1px solid black;
		}
	</style>
</head>
<body>
	<canvas id="myCanvas" width="480" height="320"></canvas>
	<script>
		// 获取画布元素和上下文对象
		var canvas = document.getElementById("myCanvas");
		var ctx = canvas.getContext("2d");

		// 定义图像的初始位置和大小
		var img = new Image();
		img.src = "aaa.png";
		var x = 0;
		var y = 0;
		var width = 50;
		var height = 50;

		// 监听键盘事件,改变图像位置
		document.addEventListener("keydown", function(event) {
			if (event.keyCode == 37) { // 左箭头键
				x -= 10;
			} else if (event.keyCode == 38) { // 上箭头键
				y -= 10;
			} else if (event.keyCode == 39) { // 右箭头键
				x += 10;
			} else if (event.keyCode == 40) { // 下箭头键
				y += 10;
			}
		});

		// 绘制图像
		function draw() {
			ctx.clearRect(0, 0, canvas.width, canvas.height);
			ctx.drawImage(img, x, y, width, height);
			requestAnimationFrame(draw);
		}

		// 启动动画循环
		draw();
	</script>
</body>
</html>

在这个示例中,使用 HTML5 的 Canvas API 获取画布元素和上下文对象,并使用 Image 对象获取要绘制的图像。然后,定义图像的初始位置和大小,并监听键盘事件,根据按下的键盘按键改变图像的位置。最后,使用 Canvas API 的 drawImage() 方法在画布上绘制图像,并使用 requestAnimationFrame() 方法启动动画循环。(高二老师教过,印象深刻