zoukankan      html  css  js  c++  java
  • (function($){...})(jQuery)和$(document).ready(function(){}) 的区别

    (function($){...})(jQuery)  实际上是执行()(para)匿名函数,只不过是传递了jQuery对象。   立即执行函数;相当于先申明一个函数,声明完后直接调用;

    用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。

    相当于

      var fn=function($){…};

      fn(jQuery);//执行这个函数

      之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery。

     作用:  

    这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。

    形成是否函数函数、私有变量的概念。外部的变量与函数影响不到我们自己的内容

     

    $(document).ready(function(){})  在DOM加载完成时运行的代码,不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。 

      用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。

    最明显的区别就是执行的顺序不一样,(function($){...})(jQuery) 立即执行函数;$(document).ready(function(){})  在DOM加载完成时运行的代码

  • 相关阅读:
    关于margintop/bottom在nonReplaced inline元素上不起作用的解释
    css position
    css :three column +top box
    little box: two box
    css layout :center
    Absolute, Relative, Fixed Positioning: How Do They Differ?
    little box:three column
    利用position:absolute重叠元素
    C#生成(操作)PDF
    asp.net发布网站时三个选项的问题
  • 原文地址:https://www.cnblogs.com/jiayeyuan/p/7767454.html
Copyright © 2011-2022 走看看