请问下,下面的两种情况有什么区别:
1、window.$ = function() {
return new _$(arguments)
};
2、window.$ = new _$(arguments)
我说一下我的理解哈,第一个应该只是指向了一个函数,但是并没有执行。第二个等于是第一个执行了的结果给他了(等于第一个中的函数执行了的效果)
window.$ = (function() {
return new _$(arguments)
})();
这样的话应该就是第二个的效果了吧
第一种情况是封装了函数,要在函数调用时才会执行new操作。
第二种情况是直接执行了new操作
因此2中情况下window.$的值就很不一样,第一种是得到了一个函数,第二种情况是得到了一个new出来的实例。