jquery插件常用写法,也可用于日常js文件编写
我们经常见到如下jquery插件或者js文件的:
;(function($,window,document,undefine){
tms={};
...
window.tms = tms;
})(jQuery,window,document);
1.代码最前面的分号, 可以防止多个文件压缩合并时以为其他文件最后一行语句没有加分号,而引起合并后的语句语法错误
2.匿名函数(function(){})();
由于javascript执行表达式是从圆括号里面到外面,所以可以用圆括号强制执行声明的函数。避免函数体内和外部的变量冲突
3.$实参: $是jquery的简写,很多方法和类库也使用接受jquery对象,也是为了避免变量冲突,保证插件可以正常运行
4.window,document实参:分别接受window, document对象, window,document对象都是全局环境下的,而函数体内的window, document其实是局部变量,不是全局的对象。这样做有好处,就是提高性能,减少作用域链的查询时间。如果你在函数体内多次调用window或document对象,这样把window, document对象当做参数传进去减少查询。如果你的插件用不到这些对象,可以不传两个对象。
5.undefined形参:由于undefined在老浏览器是不被支持的,直接使用会报错,所以传入undefined
–2015/12/15