🧠 引言: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 代码。
🌐 **三、JS 的灵活性
弱类型的优势与风险
-
优势:
- 无需声明类型,快速开发。
- 灵活适配不同场景(如
xb的age可为数字或字符串)。
-
风险:
- 类型错误可能导致运行时崩溃(需严格测试)。
- 代码可维护性降低(需规范命名与注释)。
📦 四、总结
通过小白的故事,我们学习到了JS是一个弱类型、动态、灵活的脚本语言,了解了面向对象思想。对于代理模式这种经典的设计模式有了一个认知