当前位置:首页 > JavaScript

js原型链实现加减乘除

2026-01-31 10:27:12JavaScript

原型链实现加减乘除

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

扩展Number.prototype

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

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或计算结果,可以实现链式调用:

js原型链实现加减乘除

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]],通常通过__proto__或Object.getPrototypeOf()访问。原型继承允许对象从另一…

js原型链实现加减乘除

js原型链实现加减乘除

原型链实现加减乘除的方法 在JavaScript中,可以通过原型链扩展Number对象的原生功能,实现自定义的加减乘除方法。以下是具体实现方式: 扩展Number原型添加add方法 Number.p…

实现一种js原型继承

实现一种js原型继承

原型继承的基本概念 在JavaScript中,原型继承是通过原型链实现的。每个对象都有一个原型(__proto__),指向另一个对象。当访问对象的属性或方法时,如果对象本身没有,会沿着原型链向上查找。…

vue原型实现

vue原型实现

Vue 原型的实现方法 在 Vue 中,原型(prototype)通常用于扩展 Vue 的功能,例如添加全局方法或属性。以下是几种常见的实现方式: 使用 Vue.prototype 添加全局方法 可…

css 3 制作原型

css 3 制作原型

使用CSS3制作原型的常见方法 圆角边框(border-radius) 通过border-radius属性可以轻松实现圆形或圆角矩形。例如制作一个圆形头像框: .avatar { width:…