【问题标题】:Adding new methods to classes in JavaScript? [closed]向 JavaScript 中的类添加新方法? [关闭]
【发布时间】:2014-01-25 04:05:13
【问题描述】:

在 Ruby 中,我们可以通过在运行时动态修改它来为之前定义的类添加一个新方法:

class String
  def to_magic
    "magic"
  end
end

是否可以在 JavaScript 中做同样的事情?如果是,怎么做?

【问题讨论】:

  • 是的,通过String.prototype 和类似方式。示例:.trim() polyfill。请注意,JavaScript 中的猴子补丁会对其他操作产生负面影响,例如 for..in 循环。
  • 尽管我没有投反对票,可能是因为如果你在搜索引擎中搜索你的标题,你会在原型上找到相当多的页面。

标签: javascript ruby monkeypatching


【解决方案1】:

JavaScript 中的等价物:

String.prototype.toMagic = function(){ 
   return "magic"; 
}

console.log("".toMagic());//>>> "magic"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    相关资源
    最近更新 更多