bricks/docs/cn/myoperator.md
2025-10-12 17:59:59 +08:00

117 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# `Oper` 类技术文档
## 概述
`Oper` 是一个用于封装数值并支持自定义加法操作的 JavaScript 类。通过该类,可以创建包含数值的对象,并使用内置的方法执行对象间的加法运算。
> **注意**:该类中定义了两个功能几乎相同的加法方法 `__plus__` 和 `__add__`,可能是为了兼容不同命名习惯或未来扩展预留。
---
## 构造函数
### `constructor(v)`
初始化一个 `Oper` 实例,将传入的值保存在 `value` 属性中。
#### 参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `v` | `number` | 初始化的数值 |
#### 示例
```javascript
const a = new Oper(5);
console.log(a.value); // 输出: 5
```
---
## 方法
### `__plus__(a, b)`
执行两个 `Oper` 对象的加法操作,返回一个新的 `Oper` 实例,其值为两个操作数 `value` 属性之和。该方法会输出两个操作数到控制台。
#### 参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `a` | `Oper` | 第一个操作数 |
| `b` | `Oper` | 第二个操作数 |
#### 返回值
- 类型:`Oper`
- 说明:一个新的 `Oper` 实例,其 `value``a.value + b.value`
#### 示例
```javascript
const x = new Oper(3);
const y = new Oper(7);
const result = new Oper().__plus__(x, y);
// 控制台输出: Oper { value: 3 }, Oper { value: 7 }
console.log(result.value); // 输出: 10
```
---
### `__add__(a, b)`
`__plus__` 功能完全相同,执行两个 `Oper` 对象的加法操作并返回新实例,同时打印操作数到控制台。
#### 参数
| 参数 | 类型 | 说明 |
|------|------|------|
| `a` | `Oper` | 第一个操作数 |
| `b` | `Oper` | 第二个操作数 |
#### 返回值
- 类型:`Oper`
- 说明:一个新的 `Oper` 实例,其 `value``a.value + b.value`
#### 示例
```javascript
const m = new Oper(4);
const n = new Oper(6);
const sum = new Oper().__add__(m, n);
// 控制台输出: Oper { value: 4 }, Oper { value: 6 }
console.log(sum.value); // 输出: 10
```
---
## 注意事项
1. 所有方法均为实例方法,调用时需要先创建 `Oper` 实例。
2. `__plus__``__add__` 行为一致,可能存在冗余,建议根据实际需求保留其一或用于不同语义场景。
3. 当前实现未做类型检查,若传入非 `Oper` 实例或 `value` 非数字,可能导致运行时错误。
4. 方法设计为静态操作风格(接受两个操作数),而非基于当前实例的 `this.value` 进行计算,这可能与常规面向对象设计不符,使用时需注意。
---
## 建议改进
```js
// 改进建议:基于实例的加法
class Oper {
constructor(v) {
this.value = v;
}
add(other) {
return new Oper(this.value + other.value);
}
}
// 使用方式更自然
const a = new Oper(5);
const b = new Oper(3);
const c = a.add(b);
console.log(c.value); // 8
```
---
## 版本信息
- 语言JavaScript (ES6+)
- 兼容性:现代浏览器及 Node.js 环境