网页设计基础第三十讲: 解锁网页魔法:JavaScript让你的网站“活”起来!

1,429 阅读6分钟

引言

在这个数字化时代,静态的网页已经无法满足用户的需求。人们希望看到的是充满活力、交互性强的网站。而这背后,离不开一种强大的编程语言——JavaScript。本文将带你深入了解JavaScript,看看它是如何让网页变得生动有趣的。 JavaScript 是现代网页开发的基石,它让网页变得更加生动、互动。无论是简单的表单验证,还是复杂的单页面应用,JavaScript 都能轻松应对。希望本文能帮助你更好地理解和应用 JavaScript,让你的网站“活”起来!

什么是JavaScript?

JavaScript(简称JS)是一种广泛应用于网页开发的编程语言。它最初由Netscape公司在1995年开发,目的是增强网页的交互性和动态效果。如今,JavaScript已经成为前端开发的核心技术之一,几乎所有的现代网站都离不开它。

JavaScript组成

JavaScript 基础分为三个部分:

  1. ECMAScript:描述了该语言的语法和基本对象。JavaScript 的语法标准。包括变量、表达式、运算符、函数、if 语句、for 语句等。
  2. DOM:Document Object Model(文档对象模型),描述与浏览器进行交互的方法和接口。JS 操作页面上的元素(标签)的 API。比如让盒子移动、变色、改变大小、轮播图等等。
  3. BOM:Browser Object Model(浏览器对象模型),描述处理网页内容的方法和接口。JS 操作浏览器部分功能的 API。通过 BOM 可以操作浏览器窗口,比如弹框、控制浏览器跳转、获取浏览器分辨率等等。

通俗理解就是:ECMAScript 是 JS 的语法;DOM 和 BOM 是用来处理网页和获取浏览器信息的API。

1、ECMAScript

 ECMAScript 是一种由 ECMA 国际(前身为欧洲计算机制造商协会,英文名称是 European Computer Manufacturers Association)制定和发布的脚本语言规范。

JavaScript 是由公司开发而成的,问题是不便于其他的公司拓展和使用。所以欧洲的这个 ECMA 的组织,牵头制定 JavaScript 的标准,取名为 ECMAScript。

2、BOM

    即浏览器对象模型(Browser Object Model ),提供了独立于内容 而与浏览器窗口进行交互的对象,如window、Location、Screen、Navigator、History等。

3、DOM

    即文档对象模型(Document Object Model),以倒置树的形式描述网页中文档的结构,并提供对文档元素和样式的操作。

JavaScript的主要特点

  • 简单易学:JavaScript语法简洁,上手容易,适合初学者快速入门。
  • 跨平台:可以在多种操作系统和浏览器上运行,具有很好的兼容性。
  • 动态性:可以动态地修改网页内容,响应用户操作,实现丰富的交互效果。
  • 事件驱动:通过监听用户事件(如点击、滑动等),实现即时响应。
  • 丰富的库和框架:拥有大量的第三方库和框架,如jQuery、React、Vue等,可以大大简化开发工作。

JavaScript的应用场景

JavaScript是一门非常强大的语言,早期开发人员主要使用它来对网页内容进行操控,比如表单的验证、内容的切换、轮播图特效等,但随着JavaScript的发展,现在JavaScript能够做更多的工作:

1、图像处理:

    Canvas是H5中用于图形的绘制的工具,绘制的过程需要通过JavaScript来完成。

    以下代码在网页中绘制了一个红色的矩形

<!--html标签-->
<canvas id="myCanvas" width="200" height="100">
</canvas>
//绘制一个红色的矩形
var c=document.getElementById("myCanvas"); 
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,150,75);

2、小程序和APP开发:

    随着移动设备的普及,小程序和APP的应用越来越广泛,为兼容各种移动设备,小程序和APP基本上都使得H5进行开发,所有交互的实现都需要用到JavaScript

    以下为在小程序中创建一个目标文件并写入内容的代码

// 在本地用户文件目录下创建一个文件 hello.txt,写入内容 "hello, world"
const fs = wx.getFileSystemManager()
fs.writeFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'hello, world', 'utf8')

3、ajax和WebSocket异步服务调用:

    无论是Web应用还是移动端应用,都需要与服务器进行交互,为增强用户体验,异步的请求是一个非常好的实现,这些必须使用AJAX和WebSocket技术。

    以下为一个段使得AJAX调用服务并接收返回数据的代码

axios.get('/user?ID=12345')
    .then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

4、文档处理

    在JavaScript中DOM以树的形式表述了文档的结构,树的节点即包括文档的中的元素也包括了这些元素的属性、样式和文本。通过对DOm节点的操作,可以灵活方便的改变网页的内容,外观以及结构。

    以下代码可以在网页中直接输出一个标题

document.write("<h1>创蓝IT教育</h1>");

5、事件的处理

    JavaScript是基于事件的脚本语言,事件对象是JavaScript的核心对象,用户与网页的交互基本都是通过事件来完成。

    以下示例演示了当用户按下键盘的按键时就会触发键盘按键事件

<input type="text" onkeypress="getKeyCode()"/>

6、数据的验证

    用户在与网页交互时,除了进行浏览以外,还会提交数据,比如注册、登录等,为保证用户提交数据的正确性,需要对提交数据进行验证。

    以下代码实现了登录用户名不能为空的验证

var userName = document.forms[0].userName.value;
if(userName == ""){
      alert("用户名不能为空");
      return false;
}

7、客户端数据的存取

    为了提升用户的体验,经常要在浏览器中缓存用户数据,如登录信息,静态数据等。当用户第一次访问时加载数据,之后再访问时则只从本地获取,从而可以及大提升网页的响应速度。

    以下代码实现了在本地存储中存取数据

localStorage.setItem("userName""admin");//向本地存储中存入用户名
var userName = localStorage.getItem("userName");//从本地存储中取出用户名

8、服务器开发:

    JavaScript不仅可以用于客户端的浏览器中还可以在服务端编写服务器脚本,如NodeJS框架就是基于chrome的V8引擎的服务端框架。在此不举例说明。在后面会有专门的NodeJ课程,课程中会详细的讲解NodeJS的使用。

    以下代码实现了使用NodeJs实现的一个简单Web服务器

var http = require('http');
http.createServer(function (request, response) {
      // 发送 HTTP 头部
      // HTTP 状态值: 200 : OK
      // 内容类型: text/plain     
     response.writeHead(200, {'Content-Type': 'text/plain'});      
     // 发送响应数据 "Hello World"     
     response.end('Hello World\n');}).listen(8888);
     
     // 终端打印如下信息 
     console.log('Server running at http://127.0.0.1:8888/');

了解了JavaScript的强大功能和广泛应用后,接下来我们将从零开始,逐步学习JavaScript的基础知识。本系列教程都将为你提供系统、全面的指导,助你在JavaScript的道路上稳步前行。