jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解
2017-01-07 17:33
543 查看
转:
版权声明:本文为博主原创文章,未经博主允许不得转载。
1、(function($) {…})(jQuery);
1)、原理:
这实际上是匿名函数,如下:
function(arg){…}
这就定义了一个匿名函数,参数为arg
而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:
(function(arg){…})(param)
这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数
而(function($){…})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery
相当于funtion output(s){…};output(jQuery);或者var fn=function(s){…};fn(jQuery);
2)、作用(非常有用):
这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。
形成是否函数函数、私有变量的概念。比如:
[javascript]
view plain
copy
print?
var i=3;
function init(){
alert("外层init:"+i);
}
(function($) {
var i=2;
function init(){
alert("内层init:"+i);
}
init();
})(jQuery);
init();
![](https://oscdn.geek-share.com/Uploads/Images/Content/201701/9cc493f1e15b23d0f4eaea0d0f8b35d0.png)
执行结果:
内层init:2
外层init:3
2、$(function(){…}); jQuery(function($) {…}); $(document).ready(function(){…})
这三个的作用是一样的,本人比较需要用第一种、书写简单。
文档载入完成后执行的函数。
版权声明:本文为博主原创文章,未经博主允许不得转载。
1、(function($) {…})(jQuery);
1)、原理:
这实际上是匿名函数,如下:
function(arg){…}
这就定义了一个匿名函数,参数为arg
而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:
(function(arg){…})(param)
这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数
而(function($){…})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery
相当于funtion output(s){…};output(jQuery);或者var fn=function(s){…};fn(jQuery);
2)、作用(非常有用):
这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。
形成是否函数函数、私有变量的概念。比如:
[javascript]
view plain
copy
print?
var i=3;
function init(){
alert("外层init:"+i);
}
(function($) {
var i=2;
function init(){
alert("内层init:"+i);
}
init();
})(jQuery);
init();
![](https://oscdn.geek-share.com/Uploads/Images/Content/201701/9cc493f1e15b23d0f4eaea0d0f8b35d0.png)
var i=3; function init(){ alert("外层init:"+i); } (function($) { var i=2; function init(){ alert("内层init:"+i); } init(); })(jQuery); init();
执行结果:
内层init:2
外层init:3
2、$(function(){…}); jQuery(function($) {…}); $(document).ready(function(){…})
这三个的作用是一样的,本人比较需要用第一种、书写简单。
文档载入完成后执行的函数。
jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解
相关文章推荐
- jQuery实现标签子元素的添加和赋值
- jQuery实现QQ空间图片展示效果
- jQuery实现的地址选择
- jQuery Mobile
- Javascript与Jquery知识点
- 使用 jquery 的 ajax 进行接口化开发(获取验证码,注册)
- 导入项目后,jQuery文件报错解决方法
- 浏览器事件解析
- jquery怎么获取select选中的值,默认选中
- JQuery读取本地JSON文件
- jQuery+ajax的资源回收处理机制分析
- jQuery 实现图片轮播
- 【Js应用实例】jQuery监听回车键
- JQuery读取本地JSON文件
- 同源&跨域(jsonp原理 / jQuery 的 jsonp)
- 学习JQuery中的DOM操作和事件操作
- jQuery轻量级网页编辑器 选中即可编辑
- jquery楼层滚动特效
- JS对象转URL参数(原生JS和jQuery两种方式)
- 简易ajax天气渲染