📜  javascript 范围 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:37.524000             🧑  作者: Mango

Javascript 范围

Javascript 是一种动态解释型语言,在 web 应用中经常用于动态交互,而且随着 Node.js 的出现也开始被用于后端开发。Javascript 范围非常广,包括但不限于以下内容:

客户端 Javascript

客户端 Javascript 主要运行在浏览器中,负责与网页进行交互,如表单验证、DOM 操作、事件监听等。

下面是一个简单的例子,用 Javascript 实现一个点击按钮后弹出框的效果:

// 获取按钮元素
const btn = document.querySelector('#btn');

// 给按钮添加点击事件监听
btn.addEventListener('click', function() {
  alert('hello world');
});
服务端 Javascript

服务端 Javascript 则运行在 Node.js 环境中,主要用于编写服务器端应用程序,如 Web 应用、API、命令行工具等。

下面是一个简单的例子,用 Node.js 实现一个 HTTP 服务器:

const http = require('http');

// 创建一个 HTTP 服务器
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

// 启动服务器
server.listen(8080, () => {
  console.log('Server running at http://localhost:8080/');
});
数据库操作

Javascript 可以通过第三方库或内置模块来连接数据库并进行操作,如 MongoDB、MySQL、SQLite 等。

下面是一个使用 MongoDB 的例子:

const { MongoClient } = require('mongodb');

// 连接 MongoDB 服务器
const client = await MongoClient.connect('mongodb://localhost:27017');

// 选择数据库和集合
const db = client.db('test');
const collection = db.collection('users');

// 查询文档
const result = await collection.find().toArray();
console.log(result);
桌面应用

Javascript 可以使用 Electron 等框架开发桌面应用程序,如 Visual Studio Code、Slack 等。

下面是一个使用 Electron 的例子:

const { app, BrowserWindow } = require('electron');

function createWindow() {
  // 创建窗口
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
    },
  });

  // 载入页面
  win.loadFile('index.html');
}

// 当 Electron 初始化完成时触发
app.whenReady().then(() => {
  createWindow();

  // 在 macOS 上,关闭所有窗口后退出应用
  app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') {
      app.quit();
    }
  });
});

// 在 macOS 上,点击 dock 图标时创建一个新的窗口
app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow();
  }
});
总结

除了上述例子之外,Javascript 的应用范围还包括机器学习、游戏开发、图像处理等,可以说是非常广泛且有趣的语言。