[惊讶]什么原来追女神有这些技巧?JavaScript展示操作

301 阅读3分钟

🧠 引言:JS 是弱类型、动态、灵活的脚本语言

JavaScript(简称 JS)是一种弱类型、动态、灵活的脚本语言,它以“万物皆对象”的哲学为核心,通过简单的语法和强大的生态体系,成为前端与后端开发的核心工具。本文将以小白的视角,通过代码示例和场景化描述,带你学会如何追女神。


🧩 一、用 JS 介绍“小白”:从变量到对象

1. 变量:从“小白”开始

在 JS 中,变量是存储数据的容器。我们可以用 const 声明变量,其类型由值动态决定(弱类型特性)。同时我们要有面向对象思想,把现实世界抽象化。JS 的对象是现实世界实体的抽象,通过属性描述状态,通过方法描述行为。

首先呢,我们要如果想要取得女神的好感,那么一束鲜花是个不错的选择

const xb = {
  name: "小白",
  age: 19,
  hometown: "乌托邦",
  isSingle: true,
  // 方法:送花
  sendFlower: function(girl) {
    console.log(`${xb.name}${girl.name} 送了99朵玫瑰`);
    girl.receiveFlower(xb); // 调用接收者的方法
  }
};
  • 方法定义:通过 function 关键字定义方法,绑定到对象。
  • 动态调用:通过参数传递对象,实现灵活交互。

2. 复杂对象:女神与闺蜜的“互动”

我们知道如果直接送女神花,可能会显得突兀,那么我们是不是该迂回得去进行呢?


const ns = {
  xq: 30, // 心情值
  name: "女神",
  receiveFlower: function(sender) {
    console.log(`收到了 ${sender.name} 送的99朵玫瑰`);
    if (xm.xq > 90) {
      console.log("女神:小白让我们在一起吧");
    } else {
      console.log("女神:你挺好的");
    }
  }
};

const gm = {
  xq: 30,
  name: "闺蜜",
  receiveFlower: function(sender) {
    setTimeout(() => {
      ns.xq = 99;
      ns.receiveFlower(sender);
    }, 3000);
  }
};
  • 异步交互:通过 setTimeout 模拟延迟响应。
  • 对象互换闺蜜 通过修改 女神 的 心情 值,间接影响其行为。
  • 接口调用: 通过receiveFlower方法处理收到花的逻辑(女神直接处理,闺蜜通过定时器间接修改女神状态并触发其逻辑)。
  • 代理模式: 具有灵活的扩展功能;封装复杂逻辑。

经过闺蜜的助攻,小白也是成功提升了女神的好感度,最终有了一个甜甜的恋爱🥰🎉🎉

⚙️ 二、JS 的运行机制:从命令行到浏览器

1. 后端运行:Node.js 环境

bash
node 1.js
  • 脚本语言特性:无需编译(如 .cpp 编译为 .o),直接执行 .js 文件。
  • Node.js:通过 Node.js 运行 JS 代码,实现后端逻辑。

2. 前端运行:浏览器中的 HTML 文档

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>小白的恋爱世界</title>
</head>
<body>
  <script src="./1.js"></script>
</body>
</html>
  • HTML 与 JS 结合:通过 <script> 标签引入 JS 文件。
  • 浏览器执行:浏览器解析 HTML 并执行内联或外部的 JS 代码。

image.png

🌐 **三、JS 的灵活性

弱类型的优势与风险

  • 优势

    • 无需声明类型,快速开发。
    • 灵活适配不同场景(如 xb 的 age 可为数字或字符串)。
  • 风险

    • 类型错误可能导致运行时崩溃(需严格测试)。
    • 代码可维护性降低(需规范命名与注释)。

📦 四、总结

通过小白的故事,我们学习到了JS是一个弱类型、动态、灵活的脚本语言,了解了面向对象思想。对于代理模式这种经典的设计模式有了一个认知