jQuery的原理

jQuery的原理

jq最核心的是 $ ,它是一个函数。
函数中返回一个自定义的jq对象,它是一个类。
在这个类的原型下面有许多jq自定义的方法,如on,css。。。
每次调用 $ 都会返回一个新的jq对象,

同时在 $ 函数中,根据传入参数的类型,如(#div1, .div2, span等),函数或者字符串,
把选中的元素存在数组中,遍历这个数组,去除每个元素进行dom操作。

jQuery可以链式操作,是因为,在每一个方法中,都会在最后 return this
返回了当前 $函数中的jq对象,所以就能继续链式操作了。

举例(伪代码):

	function $(selector,context){
		return new Jquery(selector,context);
	};
	function Jquery(selector,context){
		this.element = [];//用来保存传进来的参数
		if(typeof selector =="string"){
			//说明传进来的是 #div1 .box span 等
			if(selector.charAt(0)=="#")
			if(selector.charAt(0)==".")
			//截取字符串,获取dom对象,保存在数组中
			
		}
		if(typeof selector =="function"){
			//说明传进来的是文档就绪函数
			addEvent(document,"DOMContentLoaded",selector,false)
		}
	}

jQuery对象、js对象相互转换

1)jq->js

$("#div1")[0]
$("#div1").get(0)

2)js->jq

$(this)

猜你喜欢

转载自blog.csdn.net/Cheny_Yang/article/details/84943228