jQuery的无new构建

var aQuery = function(selector, context) {
       return  new aQuery.prototype.init();
}
aQuery.prototype = {
    init: function() {
        return this;
    },
    name: function() {
        return this.age
    },
    age: 20
}
aQuery.prototype.init.prototype = aQuery.prototype;  //主要靠这句话起作用。(aQuery.prototype.init).prototype = aQuery.prototype;这样就更明显了。避免了new的init跟jquery类的this分离

console.log(aQuery().name()) //20

var $ = function(){
  return new $.prototype.init();
}

$.prototype = {
  init:function(){
    console.log("init");
    return this;
  },
  age:function(){
    console.log("age");
    return this;
  },
  name:function(){
    console.log("name");
    return this;
  }

}

$.prototype.init.prototype = $.prototype;
console.log($().age().name().init());

//JQ里面所谓的链式结构,就是我们在需要链式的方法访问this就可以了,因为返回当前实例的this,从而又可以访问自己的原型了


时间: 2024-10-13 22:33:00

jQuery的无new构建的相关文章

jquery源码学习笔记(一)jQuery的无new构建

本人是一名.net程序员..... 你一个.net coder 看什么jQuery 源码啊? 原因吗,很简单.技多不压身吗(麻蛋,前端工作好高...羡慕). 我一直都很喜欢JavaScript,废话不多说了,直接切入正题. 最近看了好几篇jQuery 源码的文章,对于jQuery的无new构建  很是不解. 查了很多资料,总算是搞明白了. jQuery的无new构建 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作. 回想一下使用 jQuery 的时候,实例化一个 jQuery

jquery ajax无刷新删除

职位列表里面显示应聘的简历: 点击简历的数量,弹出层(用load方法调用加载) 弹出的层里面删除简历(无刷新删除),实现方法 ? 1 2 3 4 5 6 7 8 9 10 11 12 $(".Del a").click(function () {             var mid = $(this).attr("name");               var jobid = $(this).attr("lang"); //职位id   

jQuery模拟无刷新分页效果

<html> <head> <title>jQuery模拟无刷新分页效果|河北苗木|河北金梆子锅炉</title> <script src="/images/jquery-1.4.2.min.js" type="text/javascript"></script> <style type="text/css"> body { font-size:12px; col

jquery实现无外边框table

jquery实现无外边框table 在需要设为无外边框的table上加上class noOutBorder <tableclass="noOutBorder"> <tr> <td>1/td> </tr> </table> <tableclass="otherClassName noOutBorder"> <tr> <td>1/td> </tr> &

jQuery实现无刷新切换主题皮肤功能

jQuery实现无刷新切换主题皮肤功能 helloweba.com 作者:月光光 时间:2010-12-13 12:49 主题皮肤切换功能在很多网站和系统中应用,用户可以根据此功能设置自己喜欢的主题颜色风格,增强了用户体验.本文将围绕如何使用jQuery实现点击无刷新切换主题皮肤功能. 查看演示 实现该功能的原理就是通过点击定义的主题样式,改变页面当前引用的主题CSS文件,并且将当前的主题样式写入cookie中或者写入数据库中,以便下次该用户重新访问页面时,调用的就是上次设置好的主题样式. 准备

LigerUi框架+jquery+ajax无刷新留言板系统的实现

前些天发布了LigerUi框架的增.删.改代码,一堆代码真的也没一张图片.有的网友推荐上图,所有今天把涉及到这个框架的开源的留言板共享给大家.在修改的过程中可能有些不足的地方希望大家拍砖. 因为留言板前台展示页基本采用ajax进行操作的,所以前台页面只有一个index.html页可查看.在运行的时候请打开这个页面,压缩文件里面包括编译版本和源码,大家可以用vs调试或者IIS运行查看 只要支持.net2.0就行,数据采用了access和mssql数据两个都可以,切换的时候请在配置文件中修改.废话就

JQuery实现无刷新下拉加载图片

      最近做的一个项目需要做页面无刷新下拉加载图片,调研了一番,大多都采用检测滚动条达到底部,然后利用ajax加载下一页数据对页面数据进行添加,根据这一逻辑,自己写了一个,具体代码如下: JQuery写下拉触发ajax事件 $(window).scroll(function () { if($(window).scrollTop()==($(document).height()-$(window).height()))//判断右边滑动条是否滑到最下 { $.ajax({ url:"&quo

jQuery的无new创建方法

一般我们去写一个框架,会采用什么样的设计呢?比如设计一个jQuery框架,一般我们会创建一个函数对象 function jQuery(params){ //构造函数 }jQuery.prototype.init = function(params){ //初始化操作} jQuery.prototype.html = function(html){ //实现类似设置innerHTML的操作 } var jq = new jQuery("#id"); jq.init(); jq.html(

JQUERY AJAX无刷新异步上传文件

AJAX无刷新上传文件并显示 http://blog.csdn.net/gao3705512/article/details/9330637?utm_source=tuicool jQuery Form Plugin 官网地址:http://malsup.com/jquery/form/#tab7 基于MVC4+EasyUI的Web开发框架形成之旅--附件上传组件uploadify的使用 http://www.cnblogs.com/wuhuacong/p/3343967.html