jQuery页面加载初始化常用的三种方法和function($){….})(jQuery)
程序员文章站
2022-05-18 19:14:10
...
第一种:
<script type="text/javascript">
//init method one
$(document).ready(function(){
trace("初始化方法进入");
});
function trace(obj){
console.log(obj);
}
</script>
第二种:
<script type="text/javascript">
//init method one
$(function(){
trace("初始化方法进入二");
});
function trace(obj){
console.log(obj);
}
</script>
第三种:
<script type="text/javascript">
//init method one
jQuery(function($){
trace("初始化方法进入三");
});
function trace(obj){
console.log(obj);
}
</script>
ps;不用jquery,在页面初始化的方法,
1.在body里面写onload
2.在脚本里面写
window.onload=function(){
//要初始化的东西
}
function($){….})(jQuery):
初次看到这种写法时,一头雾水,不知所云。在网上查找了一些资料之后才有点明白。
我们先看第一个括号里边的内容:function(,这里主要是为了不与其它的库冲突。
这样我们就比较容易理解第一个括号内的内容就是定义了一个匿名函数,我们在调用函数的时候,都是函数名后边加上括号以及实参,但是由于操作符的优先级我们定义的匿名函数也需要用()括起来。
现在我想大家已经很清楚这句话是什么意思了吧。第一个括号表示定义了一个匿名函数,然后第二个函数表示为该函数传递的参数,整个结合起来意思就是,定义了一个匿名函数,然后又调用该函数,该函数的实参为jQuery。
相当于:function fun($){…};fun(jQuery);
这种方法多用于存放开发的插件,执行其中的代码时,Dom对象并不一定加载完毕。于此相反的是(document).ready(function(){});
jQuery中(function((function(){})区别:
(function($){…})(jQuery)相当于匿名函数,形成闭包,内部定义的函数和变量只能在此范围内有效。
相当于 var fn=function(s){}; fn(s);
(document).ready(function(){})或$(‘window’).ready(function(){}),在DOM加载完成之后执行那些预行定义好的函数。