`
AngelAndAngel
  • 浏览: 236970 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jquery 源码初探,一步步实现自己的jquery(三)

阅读更多
   上两篇简单的介绍了jquery的一些知识,也模拟了一下jquery的调用方式,下面我们整点更像的,jquery不是使用#来指定Id吗,我们也来试试,给我们的TestClass类添加一个selector来存储我们要找的目标,并且添加一个val方法来获取值和赋值
改版的TestClass如下:

 
     (function(){
     TestClass=function (selector){
     return new TestClass.fn.init(selector);
  }
  TestClass.fn=TestClass.prototype={
    init:function(selector){
    this.selector=selector;
    return this;
    },
    val:function(value){
     if(!(this.selector&&this.selector.indexOf("#")==0)){
        return ;
      }
	var id=this.selector.substring(1);
         var obj=document.getElementById(id);
	 if(!value){
              return obj.value;
	 }else{
              obj.value=value;
	  }

    }
 }
 TestClass.fn.init.prototype=TestClass.fn;
 var $=TestClass;
 window.$=$;
 window.TestClass=TestClass;
  


})()

alert($("#myinput1").val());
$("#myinput1").val("xxxtest");
  


上面的判断比jquery要少很多,满足基本功能,对于select等等这些元素,还需继续扩招下去,这个比较简单。
以上在IE和火狐都会通过。
  现在总结一点东西:
  

         
  • 1,之所以要用匿名函数是避免出现方法或者属性,变量与其他的重复,在这个 里面定义的函数,在外面是不能直接调用的。
  •       
  • 2,大量利用js prototype属性,对扩展类的方法有很大作用,它是一个给类的对象添加方法的方法。
  •   
                  

   现在jquery有很多扩展出来的插件,为整个框架带来生机,这也是它成为霸主的利剑,下一篇面我们就看看是怎样扩展它的功能的。


  
分享到:
评论

相关推荐

    jquery 源码初探,一步步实现自己的jquery(四)

    在本篇《jquery 源码初探,一步步实现自己的jquery(四)》中,我们将深入探讨jQuery库的核心概念,并尝试逐步构建一个简易版的jQuery,以帮助理解其内部机制。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作...

    ApiCloud 2048 H5版源码

    **三、H5版2048实现** 在ApiCloud中开发H5版2048,首先需要创建一个项目,然后引入必要的前端库,如jQuery或其他轻量级框架,用于处理DOM操作和事件监听。接着,你需要设计一个数据结构来存储棋盘状态,通常是一个...

    加密网页数据获取初探.pdf

    二是网页源代码中的两个Java Script(一种具有函数优先的轻量级,解释型或即时编译型的编程语言)文件:jquery.min.js、dealq8ZH16HCv.min.js(以下分别简称J1、J2文件)。 J1主要是解密、解码等内容,例如J1文件...

    javaeye热点阅读

    15. Apache Click框架初探:Click是一个轻量级的Web开发框架,它的易用性和简洁性使得快速构建应用变得可能。 16. Spring AOP详解:AOP(面向切面编程)是Spring的重要特性,用于实现如日志、权限检查等功能的横切...

    JEECG_v3开发指南v3.2.pdf

    - 随着WEBUI框架(如EasyUI、JqueryUI、Ext、DWZ等)的成熟发展,系统界面实现了统一化,这使得代码生成器可以生成具有统一规范的界面。 - 当前的趋势是采用代码生成加上手工MERGE的半智能化开发方式,这种方式...

    JEECG_v3开发指南v3.3

    - **技术背景**:本指南的编写背景是基于当前Web UI框架(如EasyUI、JqueryUI、Ext、DWZ)的成熟度以及它们在统一系统界面方面的应用。随着这些框架的不断发展和完善,代码生成器能够生成更为规范且统一的界面代码,...

    PokemonPokedex

    《神奇宝贝图鉴项目:JavaScript实现的初探》 神奇宝贝图鉴,即"Pokedex",是《神奇宝贝》系列游戏中一个重要的元素,它记录了各种神奇宝贝的信息,包括属性、技能、进化链等。本项目名为"PokemonPokedex",主要...

Global site tag (gtag.js) - Google Analytics