JS中的一些API总结 | 青训营

231 阅读4分钟

JavaScript中有许多API可用于实现各种功能。

以下是一些常见的JavaScript API的总结。

  1. DOM API(文档对象模型):
    • 获取和修改元素的内容、属性和样式。
    • 添加、删除和修改HTML元素。
    • 添加事件监听器和处理程序。
// 获取元素并修改其内容
let element = document.getElementById('myElement');
element.innerHTML = 'Hello, World!';

// 创建新元素并添加到文档中
let newElement = document.createElement('div');
newElement.innerHTML = 'New Element';
document.body.appendChild(newElement);

// 添加事件监听器
element.addEventListener('click', function() {
  console.log('Element clicked!');
});
  1. AJAX API(异步JavaScript和XML):
    • 通过HTTP请求与服务器进行异步通信。
    • 发送请求、接收响应并处理数据。
// 发送AJAX请求
let xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    let response = JSON.parse(xhr.responseText);
    console.log(response);
  }
};
xhr.send();
  1. 事件API:
    • 监听和响应用户交互事件,如点击、键盘输入和鼠标移动等。
// 添加点击事件监听器
let element = document.getElementById('myElement');
element.addEventListener('click', function(event) {
  console.log('Element clicked!', event);
});

// 添加键盘事件监听器
document.addEventListener('keydown', function(event) {
  if (event.key === 'Enter') {
    console.log('Enter key pressed!');
  }
});
  1. 定时器API:
    • 定时执行代码,延迟执行或重复执行。
// 延迟执行代码
setTimeout(function() {
  console.log('Delayed code executed!');
}, 2000);

// 每隔一定时间重复执行代码
setInterval(function() {
  console.log('Repeated code executed!');
}, 1000);
  1. 存储API(localStorage):
    • 在客户端浏览器中存储和读取数据。
// 存储数据到localStorage
localStorage.setItem('username', 'John');

// 从localStorage中获取数据
let username = localStorage.getItem('username');
console.log(username);

// 删除localStorage中的数据
localStorage.removeItem('username');
  1. Fetch API和AJAX API:
    • 发送HTTP请求并处理响应数据。
// 使用Fetch API发送GET请求
fetch('https://api.example.com/data')
  .then(function(response) {
    return response.json();
  })
  .then(function(data) {
    console.log(data);
  })
  .catch(function(error) {
    console.log(error);
  });
  1. Canvas API:
    • 创建和操作HTML5画布,绘制图形、图像和动画。
// 在Canvas上绘制矩形
let canvas = document.getElementById('myCanvas');
let ctx = canvas.getContext('2d');
ctx.fillStyle = 'red';
ctx.fillRect(10, 10, 100, 50);
  1. Web Storage API(localStorage):
    • 在浏览器中存储和读取数据。
// 存储数据到localStorage
localStorage.setItem('username', 'John');

// 从localStorage中获取数据
let username = localStorage.getItem('username');
console.log(username);

// 删除localStorage中的数据
localStorage.removeItem('username');
  1. 地理位置API:
    • 获取用户设备的地理位置信息。
// 获取地理位置信息
if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(function(position) {
    let latitude = position.coords.latitude;
    let longitude = position.coords.longitude;
    console.log('Latitude:', latitude);
    console.log('Longitude:', longitude);
  }, function(error) {
    console.log(error);
  });
}
  1. WebSocket API:
    • 在客户端和服务器之间建立持久的、实时的双向通信。
// 创建WebSocket连接
let socket = new WebSocket('wss://api.example.com/socket');

// 监听WebSocket事件
socket.onopen = function() {
  console.log('WebSocket connection opened!');
};

socket.onmessage =function(event) {
  let message = event.data;
  console.log('Received message:', message);
};

socket.onclose = function() {
  console.log('WebSocket connection closed!');
};

// 发送消息到WebSocket服务器
socket.send('Hello, Server!');

对于websocket我有一些想说的,

WebSocket API提供了一种在客户端和服务器之间建立持久的、实时的双向通信的机制。通过WebSocket,客户端和服务器可以进行实时数据传输,而不需要通过传统的HTTP请求-响应模式。

1. 创建WebSocket连接: 首先,需要在客户端通过JavaScript代码创建WebSocket连接。使用new WebSocket(url)构造函数来创建WebSocket对象,并将服务器的URL作为参数传递给它。

let socket = new WebSocket('wss://api.example.com/socket');

2. WebSocket事件: WebSocket对象提供了几个事件,用于监听与WebSocket连接相关的状态和消息。

  • onopen:当WebSocket连接成功打开时触发该事件。
  • onmessage:当接收到服务器发送的消息时触发该事件。
  • onclose:当WebSocket连接关闭时触发该事件。
  • onerror:当发生WebSocket连接错误时触发该事件。

可以通过为这些事件指定回调函数来处理相应的场景。

socket.onopen = function() {
  console.log('WebSocket connection opened!');
};

socket.onmessage = function(event) {
  let message = event.data;
  console.log('Received message:', message);
};

socket.onclose = function() {
  console.log('WebSocket connection closed!');
};

socket.onerror = function(error) {
  console.log('WebSocket error:', error);
};

3. 发送和接收消息: 通过WebSocket连接,客户端可以向服务器发送消息,并从服务器接收消息。使用send(data)方法向服务器发送消息,并通过event.data属性来获取接收到的消息。

// 发送消息到WebSocket服务器
socket.send('Hello, Server!');

// 接收服务器发送的消息
socket.onmessage = function(event) {
  let message = event.data;
  console.log('Received message:', message);
};

4. 关闭WebSocket连接: 当不再需要WebSocket连接时,可以使用close(code, reason)方法手动关闭连接。该方法接受两个可选参数:关闭代码和关闭原因。

// 关闭WebSocket连接
socket.close();

5. WebSocket属性: WebSocket对象还提供了一些属性来获取有关WebSocket连接状态的信息。

  • readyState:表示WebSocket连接的当前状态,可能的值有:0(CONNECTING),1(OPEN),2(CLOSING),3(CLOSED)。
  • binaryType:表示接收到的二进制数据的类型,可以是"blob""arraybuffer"
console.log('WebSocket state:', socket.readyState);
console.log('Binary data type:', socket.binaryType);

6. 安全性注意事项: 在使用WebSocket时,需要注意安全性问题。确保在使用WebSocket连接时使用安全的协议(如wss://),以保护数据的安全性。WebSocket连接的安全性与其他网络连接一样重要,应该采取适当的安全措施来防止网络攻击。

以上是WebSocket API的基本使用方法和要点。WebSocket提供了一种强大的实时通信机制,适用于需要实时数据传输和双向通信的应用场景,如聊天应用、实时游戏等。