如何在Java脚本中重写本机构造函数

How to override a native constructor in Javascript(如何在Java脚本中重写本机构造函数)

本文介绍了如何在Java脚本中重写本机构造函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想更改RegExp构造函数,使其不区分大小写,但我无法修改源代码。

源调用:

MyExp = new RegExp("xxx","") //Native

我是否可以创建可以覆盖它的函数,例如

function RegExp(a,b){
  return native.RegExp(a,"i")
}

推荐答案

这称为monkey patching。将本机函数的旧值保存在另一个变量中。

(function(nativeRegExp) {
    window.RegExp = function(a, b) {
        return nativeRegExp(a, b || "i"); // default to case-insensitive
    }
})(RegExp);

这篇关于如何在Java脚本中重写本机构造函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何在Java脚本中重写本机构造函数

基础教程推荐