zoukankan      html  css  js  c++  java
  • 类似jquery的一个demo

      通过以下的demo,可以大体知道jquery的一些组织结构以及一些实现方法。

    实际上jquery就是一个全局变量,只是在这个变量上添加了各种属性和方法。

    首先我们要理解什么是匿名函数自执行,简单点就是如下结构的写法就是一个匿名函数自执行,

    (function(thePara){
    
      ...
    
    })(window)
    

      可以分为两个大的部分,第一部分(function(thePara){}),这一部分是固定写法,即用一对括号把一个匿名函数包裹起来,

    而且这个匿名函数的形参thePara用来接收传入的变量A;第二部分就是(window),作用是给前面被括号包裹起来的匿名函数的形参传值,

    也就是说形参thePara接收的变量A就是window,而这个window就是DOM中的一个顶级的对象,所以在匿名函数里我们要访问window

    或者在window对象上添加属性或者function的时候就可以用thePara来代替。

    具体如下:

    //w作为window的形参,就表示window
    (function(w) {
    	// 定义一个全局的window.wyl变量,就类似于jquery里的$,Jquery对象
    	w.wyl;
    	wyl = function(obj) {
    		this._obj = obj;
    		// 作用:返回当前对象,即返回window.wyl这个对象
    		return this;
    	}
    	// wyl.prototype.isArr的作用:在所有的wyl对象上加上isArr(para)的function,
    	wyl.prototype.isArr = wyl.isArr = function(para) {
    		/**
    		 * 在wyl对象上添加工具方法isArr(obj) 实例:var flag = wyl.isArr(obj); 如果为true那么就说明是数组
    		 */
    		if (typeof para == 'object' && para instanceof Array) {
    			return true;
    		} else {
    			return false;
    		}
    	}
    	// 传入window对象
    })(window)
    

      具体的用法在注释里有说明。

  • 相关阅读:
    MYSQL索引使用
    事务的概念是什么,有哪些基本属性?
    springboot和springmvc的区别
    List、Map、Set的区别与联系
    MyBatis-动态SQL
    MyBatis-映射文件
    MyBatis操作数据库及全局配置文件
    Jmeter的基本使用
    MySQL索引优化
    MySQL索引
  • 原文地址:https://www.cnblogs.com/Sunnor/p/5759728.html
Copyright © 2011-2022 走看看