一段代码,希望有人帮忙解释一下
(function(){
var jQuery = function() {
// 函数体
}
jQuery.fn = jQuery.prototype = {
// 扩展原型对象
jquery: "1.8.3",
test: function() {
console.log('test');
}
}
window.jQuery = window.$ = jQuery;
})();
(new jQuery()).test();
为什么要用一个()将function(){}括起来?
(function(){})后面为什么还要加()
window.jQuery = window.$ = jQuery;这个是什么,从右到左连续赋值?为什么没有变量符号?
------解决方案--------------------1、匿名函数
2、window.$ = jQuery; window.jQuery=window.$;//不推荐这么写,不易于阅读
------解决方案--------------------(function(){
})();
这个是匿名函数,马上执行。
window.jQuery = window.$ = jQuery;就是赋值,没有var就是全局变量啦。
------解决方案--------------------(function(){
})();
使用匿名函数实现代码封装,后面的()表示立即执行
window.jQuery = window.$ = jQuery; 是将jQuery对象赋值给window.$和window.jQuery,表示可以通过$或者jQuery 调用匿名函数中定义的jQuery类