• 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的朋友注意一下,不要被其误导了!

  • 相关阅读:
    Hibernate,get()和load()区别
    Hibernate,Session方法使得java对象进入持久化状态;持久化对象特征
    Hibernate,Session清理缓存时间点
    frameset子窗口获取父窗口失败原因?
    struts2,实现Ajax异步通信
    struts2-json-plugin插件实现异步通信
    Hibernate,JPA注解@ManyToMany_JoinTable
    Hibernate,JPA注解@ManyToMany
    SparkStreaming操作Kafka
    DirectStream、Stream的区别-SparkStreaming源码分析02
  • 原文地址:https://www.cnblogs.com/see7di/p/2259455.html
Copyright © 2020-2023  润新知