首页 > 如下所示,两种定义有什么区别?

如下所示,两种定义有什么区别?

请问下,下面的两种情况有什么区别:

1、window.$ = function() {
    return new _$(arguments)
      };

2、window.$ = new _$(arguments)

我说一下我的理解哈,第一个应该只是指向了一个函数,但是并没有执行。第二个等于是第一个执行了的结果给他了(等于第一个中的函数执行了的效果)

window.$ = (function() {
    return new _$(arguments)
      })();

这样的话应该就是第二个的效果了吧


第一种情况是封装了函数,要在函数调用时才会执行new操作。
第二种情况是直接执行了new操作

因此2中情况下window.$的值就很不一样,第一种是得到了一个函数,第二种情况是得到了一个new出来的实例。

【热门文章】
【热门文章】