欢迎访问宙启技术站
智能推送

JS中只会使用console.log()?你out了

发布时间:2023-05-16 02:02:42

JavaScript 作为一门高级编程语言,拥有非常丰富的功能和 API,除了基础语法和变量、函数的使用外,还有很多功能可以实现。

关于用 console.log(),它通常是作为调试工具使用的,输出一些变量或者数据等信息,而不是用来交互的。

下面就是一些 JS 中的用途和功能:

1. DOM 操作

JS 可以通过 DOM(文档对象模型)来操作网页中的 HTML。例如,获取一个元素:

let element = document.querySelector('#id');

或者修改一个元素的样式:

element.style.color = 'red';

2. 事件处理

JS 能够响应用户操作,对于用户的行为做出反应。例如,通过监听鼠标事件来实现拖拽效果:

let element = document.querySelector('#id');

element.addEventListener('mousedown', function(e) {
  let x = e.clientX;
  let y = e.clientY;
  let deltaX, deltaY;

  function onMousemove(e) {
    deltaX = e.clientX - x;
    deltaY = e.clientY - y;

    element.style.top = element.offsetTop + deltaY + 'px';
    element.style.left = element.offsetLeft + deltaX + 'px';

    x = e.clientX;
    y = e.clientY;
  }

  document.addEventListener('mousemove', onMousemove);
  document.addEventListener('mouseup', function() {
    document.removeEventListener('mousemove', onMousemove);
  });
});

3. AJAX

JS 可以发送异步请求,来与服务器端进行数据交互。通过 AJAX(异步 JavaScript 和 XML),可以获取服务器返回的数据,并进行相应的操作。

let xhr = new XMLHttpRequest();

xhr.open('GET', '/path/to/api');
xhr.send();

xhr.onload = function() {
  if (xhr.status === 200) {
    let data = JSON.parse(xhr.responseText);
    console.log(data);
  }
};

4. 动画效果

JS 可以通过改变元素的属性来实现动画效果。首先通过 requestAnimationFrame 来循环执行更新元素的属性,例如位置、透明度等:

function animate(time) {
  element.style.left = time / 10 + 'px';
  requestAnimationFrame(animate);
}

requestAnimationFrame(animate);

5. Canvas 画图

JS 也可以通过 Canvas 画出各种绚丽的图案和动画效果。

let ctx = canvas.getContext('2d');

ctx.beginPath();
ctx.arc(50, 50, 20, 0, 2 * Math.PI);
ctx.fillStyle = 'blue';
ctx.fill();

以上只是一些 JS 中常见的用途和功能,还有很多其他的应用场景,例如使用 JS 扩展浏览器的功能,创建复杂的数据结构等等。