当前位置:首页 > JavaScript

js原型链实现加减乘除

2026-01-31 10:27:12JavaScript

原型链实现加减乘除

在JavaScript中,可以通过原型链扩展内置对象(如NumberObject)来实现自定义的加减乘除方法。以下是具体实现方式:

js原型链实现加减乘除

扩展Number.prototype

通过修改Number.prototype,可以为所有数字实例添加方法:

js原型链实现加减乘除

Number.prototype.add = function(num) {
  return this + num;
};

Number.prototype.subtract = function(num) {
  return this - num;
};

Number.prototype.multiply = function(num) {
  return this * num;
};

Number.prototype.divide = function(num) {
  return this / num;
};

// 使用示例
const result = (5).add(3).subtract(2).multiply(4).divide(2);
console.log(result); // 输出: 12

扩展Object.prototype(不推荐)

虽然技术上可行,但扩展Object.prototype会影响所有对象,可能导致不可预期的副作用:

Object.prototype.add = function(num) {
  return this + num;
};

// 使用示例(需注意类型转换)
console.log(5..add(3)); // 输出: 8

链式调用实现

通过返回this或计算结果,可以实现链式调用:

Number.prototype.chainAdd = function(num) {
  return this + num;
};

Number.prototype.chainMultiply = function(num) {
  return this * num;
};

// 链式调用示例
const chainResult = (2).chainAdd(3).chainMultiply(4);
console.log(chainResult); // 输出: 20

注意事项

  • 扩展内置原型可能与其他库冲突,需谨慎使用。
  • 方法命名应避免与未来JavaScript标准冲突(如加$前缀)。
  • 浮点数运算需处理精度问题(如0.1 + 0.2 !== 0.3)。

完整代码示例

// 安全扩展Number原型
if (!Number.prototype.$add) {
  Number.prototype.$add = function(num) {
    return this + num;
  };
}

if (!Number.prototype.$subtract) {
  Number.prototype.$subtract = function(num) {
    return this - num;
  };
}

// 使用示例
const safeResult = (10).$add(5).$subtract(3);
console.log(safeResult); // 输出: 12

通过原型链扩展实现数学运算时,需权衡便利性与代码安全性,建议仅在可控环境中使用。

分享给朋友:

相关文章

css 3 制作原型

css 3 制作原型

CSS3 制作圆形的方法 使用 CSS3 可以轻松创建圆形,主要通过 border-radius 属性实现。以下是几种常见的实现方式: 基础圆形 通过设置 border-radius: 50% 将一…

实现一个js原型继承

实现一个js原型继承

原型继承的基本概念 在JavaScript中,每个对象都有一个内部属性[[Prototype]],指向另一个对象或null。通过原型链,对象可以访问其原型上的属性和方法。 构造函数模式 定义一个构造…

js原型链实现计算器

js原型链实现计算器

原型链实现计算器的基本思路 使用JavaScript的原型链机制可以实现一个计算器功能。原型链允许对象继承另一个对象的属性和方法,通过这种方式可以构建一个具有基本计算功能的对象,并通过原型扩展更复杂的…

实现一种js原型继承

实现一种js原型继承

原型继承的基本概念 原型继承是JavaScript中实现对象间共享属性和方法的重要机制。每个JavaScript对象都有一个内部链接指向另一个对象(原型),当访问对象的属性时,如果对象本身没有该属性,…

js 实现原型

js 实现原型

原型的基本概念 在JavaScript中,每个对象都有一个原型(prototype),原型本身也是一个对象。原型用于实现继承和共享属性。当访问一个对象的属性时,如果对象本身没有该属性,JavaScri…

js原型实现

js原型实现

理解原型的基本概念 在JavaScript中,每个对象都有一个原型(prototype),原型本身也是一个对象。对象从原型继承属性和方法。原型链是JavaScript实现继承的机制。 使用构造函数创…