• Mootools 1.4 官方网站的API使用说明存在错误


      今天有人在群里问为何给Number用extend扩展的时候总是出错,我记得前几天阅读Moo的源代码时好像发现Number好像是只能用implement来进行扩展,而extend似乎是给Function扩展用的,于是乎查了一下官方文档

    http://mootools.net/docs/core/Core/Core

    Type method: extend

    Adds one or more functions to the type. These are static functions that accept for example other types to parse them into the type, or other utility functions that belong to the certain type.
    Syntax:

    myType.extend(name, method);

    or

    myType.extend(methods);

    Arguments:

    name - (string) The method name.
    method - (function) The method function.

    or

    methods - (object) An object with key-value pairs. The key is the method name, the value is the method function.

    Returns:

    (object) The type.

    Examples:

    RegExp.extend('from', function(regexp, flags){
    return new RegExp(regexp, flags);
    });

    Number.extend('parseCurrency', function(currency){
    // takes a string and transforms it into a number to
    // do certain calculations
    });

    看到没,这是官方的原文,我测试了一下这段示例,运行结果是错误的,提示说:.parseCurrency is not a function

    下边是我的测试代码:

    Number.extend('parseCurrency', function(currency){
    alert(currency);
    });
    (1).parseCurrency('ff');

    出错提示是:

    (1).parseCurrency is not a function
    [在這個錯誤中斷] (1).parseCurrency('ff');


    通过这个错误就可以知道了,parseCurrency 并非是一个function,于是不死心再次阅读Moo的源码,发现Number确实只能用implement扩展.

    由此可见官方的文档是有错漏的.

    尽信书不如无书,希望初学Moo的朋友注意一下,不要被其误导了!

  • 相关阅读:
    Redis常用配置说明
    Redis入门知识
    分布式理论基石CAP理论
    MySQL之视图
    MySQL之事务控制总结
    MySQL之标识列(自增长列)设置起始值与步长
    LeetCode 543. Diameter of Binary Tree(两节点最长路径)
    LeetCode 110. Balanced Binary Tree(平衡树)
    LeetCode 104. Maximum Depth of Binary Tree(求树的高度)
    LeetCode 328. Odd Even Linked List(链表元素按奇偶聚集)
  • 原文地址:https://www.cnblogs.com/see7di/p/2259455.html
Copyright © 2020-2023  润新知