这两者有什么区别.
$(document).ready(function(){ ... });
(function(){ ... })();
这两个函数同时被调用吗?我知道,当浏览器呈现整个HTML页面时会触发document.ready,但第二个函数(自调用匿名函数)会怎样.是否等待浏览器完成呈现页面,或者只要遇到它就会调用它?
有什么区别:
(function() {
/*..........*/
})();
Run Code Online (Sandbox Code Playgroud)
并且:
(function($) {
/*..........*/
})(jQuery);
Run Code Online (Sandbox Code Playgroud) 我正在修改一些有很多jQuery的代码,但我不确定某些jQuery语句在做什么.
在jQuery代码的顶部有
jQuery.noConflict
Run Code Online (Sandbox Code Playgroud)
*1.我明白那个.但是有一些代码有:
<script type="text/javascript">
(function($) {
$(document).ready(function() {
jQuery.fn.fixEmail = function() {
{
return $(this).each(function() {
var $s = $(this);
...code...
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
我得到jQuery被使用因为noConflict.什么是参数$?
*2.在另一个功能中,他们使用
<script type="text/javascript">
jQuery(function(){
var $ = jQuery;
var cc = {
mode : 'teaser',
featureVisible : true,
$loader : '<p class="loadingAnimation"><img height="32" src="' +
config.xoImgUrl +
'/images/ajax-loader.gif" width="32" /></p>',
....more code...
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
所以他们从noConflict设置$ jQuery.但为什么?他们刚刚使用过jQuery吗?
*3.我想要使用的插件由以下内容初始化:
var $j = jQuery.noConflict();
var $ = {};
$j(document).ready(function(){
$j.history.init(pageload);
$j("a[@rel='history']").click(function(){
...more code...
});
}); …Run Code Online (Sandbox Code Playgroud) 我理解如何定义这样的函数:
function myfunc(x,y,z) {
alert("Just an example " + x + y + z)
}
Run Code Online (Sandbox Code Playgroud)
但不是这个:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
(function ($) {
$.fn.idle = function (x, y, z) {
alert("Just an example " + x + y + z)
}(jQuery));
</script>
Run Code Online (Sandbox Code Playgroud)
以上是我正在使用的库的一部分,但我根本无法理解这$.fn.idle一点.
它在做什么?它以某种方式定义了一个名为'idle'的函数,但是$.fn呢?那(function ($) {部分怎么样?我再次明白,$(document).ready(function() {但(function ($) {完全是外星人.这是一个简短的手吗?
(jQuery));底部有什么意义?
我知道代码$(function( $ )没有任何意义,但我在各个地方都找到了这种代码,包括todomvc.
有一个原因是编写函数jQuery(function( $ )来解决$任何其他库所使用的任何潜在冲突,但不是$function($).