(function(){alert("hei");})(); 
 $(function(){alert("hei");})(); 
$(document).ready(function(){alert("hei");});

蓝色比红色有什么好处?
蓝色可以添加事件,是jquery的方法,红色不行,这样理解对吗?

解决方案 »

  1.   

    jquery的ready是指在页面的DOM模型加载完后执行指定的函数。
      

  2.   

    $(document).ready(function(){alert("hei");});
    jquery使用 $()来获取对象。
      

  3.   

    $(document).ready 的好处就在这里,它只等待 DOM 加载完成,而不是页面。你可以分别写几个函数,调用,看看执行结果出来的顺序。别的没看出来什么好处。
      

  4.   

    $(function(){alert("hei");})();   获取的什么对象?
      

  5.   

    $(document).ready 的好处就在这里,它只等待 DOM 加载完成,而不是页面。 
    有意思,能深入么?
      

  6.   

    LZ,你看看JQUERY基础吧JQUERY基础$(function() {
    // code to execute when the DOM is ready
    });

    $(document).ready(callbac)的缩写。
      

  7.   

    有了$(document).ready(),你可以在windows加载之前,就预先加载你想要实现某个功能的代码。
    这样的话,当你浏览一个运用了jQuery的网站,一打开页面就会看到jQuery效果,没有任何延迟。
    你可以这么理解:
    如果你有个页面要加载的东西太多了,可能导致很久才看到js的效果。
    $(document).ready()函数里面的内容将会在整个页面其他内容下载之前预先加载。
      

  8.   

    《html》
    abc
    《body》
    《/body》
    <script>
    ready()

    《html》
    in u opinion =>  
    <script>
    ready()

    《html》
    abc
    《body》
    《/body》《html》
      

  9.   

    不知道小弟说的对不对。
    蓝色的
    $(function(){alert("hei");})(); 
    $(document).ready(function(){alert("hei");});
     
    都是jquery类库封装的方法。其实$就相当于jQuery,你完全可以这样写jQuery(function(){alert("hei");})();(function(){alert("hei");})();
    $(function(){alert("hei");})(); 执行上基本上没什么差别,都相当于你声明了一个匿名函数并立即执行。这样做是为了简洁的定义一个匿名函数,然后执行.当初始化时,如果要无条件执行一个函数,如果先定义,然后再调用,首先,函数的名称没有必要,只是调用时用得到.其次,写起来比较麻烦,看起来也不简捷.然后
    $(document).ready(function(){alert("hei");}); ,正如1楼那位仁兄所说,这个作用是当页面的DOM模型加载完后执行指定的匿名函数,这时,页面所有的DOM元素都可以访问了。
    有下面这样一个例子:
    <html>
    <head>
    <script>
    (function(){document.getElementById('text1').value = '春哥'})(); //浏览器从上到下解析html,这是因为text1这个标签还没有被解析,所有这里会提示undefined。
    $(document).ready(document.getElementById('text2').value = '曾哥'});//因为所有的dom元素都加载完了才执行这个函数,所以这里能正常执行
    </script>
    </head>
    <body>
    <input id="text1" type=text value=""/>
    <input id="text2" type=text value=""/>
    </body>
    </html>
      

  10.   

    一样的,$(function(){})  jquery中的方法都会等待document 在ready之后才执行,这两个操作相等
      

  11.   

    纠正一下我的错误,
    1
    $(document).ready(document.getElementById('text2').value = '曾哥'});//改成
    $(document).ready(function(){document.getElementById('text2').value = '曾哥'});
    2
    关于$(function(){alert("hei");})();9楼说的是正确的。
      

  12.   


    蓝色比红色有什么好处?蓝色的是 jQ 的写法,意思是 在 document 对象 加载后执行的函数句柄, 这里的$(function(){}) 等同于  $(document).ready(function(){});jQ 的 $() 优势 在于 dom 对象已经存在 ,但不等待dom对象加载结束 就会执行。
    红色是标准的 EcmaScript 中匿名函数的写法之前你也问过的, 它会声明后 立即执行