jquery – 可选的`new`运算符

前端之家收集整理的这篇文章主要介绍了jquery – 可选的`new`运算符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
阅读有关事件对象及其构造函数$.Event()的jQuery文档,我看到:

The new operator is optional [when calling the constructor].

这很酷! jQuery人是如何做出这样的伎俩的?

解决方法

John Resig很好地解释了这一点: http://ejohn.org/apps/learn/#36http://ejohn.org/apps/learn/#38

基本上,Event是一个函数和一个对象(函数是对象).事件的第一行检查它是作为函数调用还是作为Event对象的实例调用(使用new运算符).

如果你正在寻找jQuery如何做到这一点,请查看jQuery source的3134-3138行:

jQuery.Event = function( src,props ) {
    // Allow instantiation without the 'new' keyword
    if ( !this.preventDefault ) {
        return new jQuery.Event( src,props );
    }

对此的解释是在the jQuery forms.

基本上,在3178-3194行,preventDefault事件被添加到Event原型中.如果事件用new实例化,则会给出这个preventDefault方法.否则,它将不会被定义.

原文链接:https://www.f2er.com/jquery/241544.html

猜你在找的jQuery相关文章