未捕获类型错误:matchExpr[type].exec 不是函数

问题描述 投票:0回答:1

修改后

Object.prototype
,所有在选择器上运行的 jQuery 方法开始导致以下错误:

未捕获类型错误:matchExpr[type].exec 不是函数

当我打电话

$.post()
时也是如此。它这么说

$.post() 不是未定义的

我所做的是:

Object.prototype.extend = function(object) {
      ...
   }

我在这里缺少什么?

javascript jquery typeerror
1个回答
2
投票

规则#1:不惜一切代价避免猴子补丁!

重写内置对象的方法(通过原型属性,如您的示例中)是一种主要的反模式,并且被认为是一种非常非常糟糕的做法

你只需要想出另一种方法来完成你想要实现的目标,而不需要覆盖这些方法。

例如,您可能想看看 jQuery 的 extend 方法

参考

为什么扩展原生对象是一种不好的做法

© www.soinside.com 2019 - 2024. All rights reserved.