【问题标题】:JavaScript prototype of function not working properlyJavaScript 函数原型无法正常工作
【发布时间】:2011-05-31 16:22:50
【问题描述】:

我已经为“between”函数制作了一个原型。 为什么我不能直接在号码上使用它?它是 Number 对象!

var a = 21;
21.between("( 16 20 ]"); // this is wrong and not working
//alert ( typeof 21 ) is number
a.between("( 16 20 ]");  // working

【问题讨论】:

  • 感兴趣的答案可以做到这一点。在相关的说明中,我写了一个小网络东西,它使用更结构化的方法来处理间隔并将它们转换为您可能感兴趣的字符串/从字符串转换:github.com/hostilefork/jquery-numband/blob/…
  • 我不推荐扩展原生原型。您可能会在更高版本的 javascript 中遇到命名空间冲突,并意外覆盖标准方法,从而使周围的所有人感到困惑。

标签: javascript function-prototypes


【解决方案1】:

试试:

(21).between("( 16 20 ]");

当解析器(好吧,词法分析器)看到“21”时。它认为你有一个浮点常数。什么也有效(而且对我个人来说真的很恶心)是:

21..between("( 16 20 ]");

【讨论】:

  • @Brünnhilde 是的,这是正确的。该语言很乐意做这种事情,但有时它不能,因为语法会妨碍它。
猜你喜欢
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-05
相关资源
最近更新 更多