开发者社区> 问答> 正文

jquery源码中init的疑问

各位,

  请教个jquery源码的问题,在源码中:

  有          
var jQuery = function( selector, context ) {   
 
    return new jQuery.fn.init( selector, context, rootjQuery );
 
}
      和    

  jQuery.fn = jQuery.prototype = {
     constructor: jQuery,
     init: function( selector, context, rootjQuery ) {
        ... ...
     }
}
      那么,为什么在jQuery外部访问不到jQuery.init()方法呢?

      具体就是为什么不能这样访问 :(尽管这样访问没有意义,但是想搞明白为什么不能访问)          

<script type="text/javascript" src="js/jquery-1.6.1.js"></script>
<script type="text/javascript">
  $(function(){
     $.init(); //undefined. 这个为什么是undefined?     
  });
</script>

展开
收起
a123456678 2016-07-06 16:46:37 1723 0
1 条回答
写回答
取消 提交回答
  •      
        var jQuery = (function() { // (1)       
              var jQuery = function(s, c) { // (2) 
            return new jQuery.fn.init(s, c, rootjQuery);
          },
             
          jQuery.fn = jQuery.prototype = {
             constructor : jQuery,
             init : function(selector, context, rootjQuery) {
            // if else ....  return ? ;
                 return jQuery.makeArray(selector, this);
             }
          };
             
         return jQuery;
        })();   
         
        window.jQuery = window.$ = jQuery;  
    })( window );
    2019-07-17 19:52:19
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载