宝哥软件园

jQuery原型属性和原型方法的详细说明

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

让我们首先看看jQuery1.7.1中定义的原型属性和方法。

第一个是构造函数属性

我相信熟悉js面向对象部分的开发人员都很熟悉,也就是用于返回对象属性创建的函数。举个简单的例子:

函数Person(){ };var Person=new Person();alert(person . constructor);//function Person(){}我们在编写继承时,喜欢将所有原型属性和方法放在单个对象文字中,这会导致构造函数属性与“实际”点不一致。例如:

function PeRsoN(){ } PeRsoN . prototype={ say : function(msg){ alert(msg);} } var Person=new Person();说“你好”;alert(person . constructor);//functionObject(){[native code]}此时指向会发生变化,因为文字对象是对象的实例,自然构造函数属性会执行对象。为了纠正这个“错误”,通常需要手动修改。这是源代码,以及源代码中对constructor:jQuery的解释。

选择器属性

选择器属性对于将jquery用作js库是无用的。主要用于基于jquery开发插件或修改插件。此属性将返回用于获取当前jquery对象的选择器字符串,例如:

var obj=$(' div a ');console . log(obj . selector);//“div a”jquery属性

此属性返回当前使用的jQuery版本

console . log($(“body”)。jquery);//1 . 7 . 1长度属性

此属性返回jquery对象中包含的元素数量。例如:

console . log($(“body”)。长度);//1这四个属性的源代码如下:

constructor: jQuery,//以空的选择器selector: ' '开始,//当前使用的jQuery版本为jquery: '1.7.1 ',//jQuery对象的默认长度为0长度为: 0,size方法

//匹配元素集size:函数()中包含的元素个数{ return this.length},这个方法是返回jquery对象的length属性,建议使用length属性,这样可以减少不必要的函数调用开销

排列方法

toArray:函数(){ return slice.call(this,0);},将jQuery集合中的所有DOM元素还原到一个数组中。

警报($('li ')。toArray());[li id='foo ',li id='bar']首先,这里的切片方法已经保留在jQuery的构造函数中,这是Array的原型方法

//保存对一些核心方法的引用87 toString=object . prototype . toString,88 hasOwn=object . prototype . hasOwn property,89 push=array.prototype.push,90 slice=array.prototype.slice,91 trim=string.prototype.trim,92 index of=array . prototype . index of,通过调用方法实现对象的模拟。传入的参数0表示没有拦截。由于此方法将返回一个干净的数组,即纯数组,因此可以实现从jquery对象到纯数组的转换。将来,当遇到其他类型的数组时,也可以使用这种方法进行转换。例如:

!doctype HTML HTML Head metharset=' utf-8 '/title JQuery源代码分析-原型属性和方法/title/Head body div/div/div/body脚本src=' JQuery-1 . 7 . 1 . js '/script script vardiv s=document . getelementsbyname(' div ');console . log(div s);//[div,div]警报(数组的div实例);//fasle alert(Array . prototype . slice . call(divs,0)instance of Array);//true /script/html所以学习jqeury源代码不仅对使用jquery有帮助,而且可以学到很多使用js的技巧

获取方法

//获取匹配元素集中的第n个元素OR//获取整个匹配元素集作为干净数组get:函数(num ) { return num==null?//返回一个“干净”的数组this.toArray() : //只返回对象(num 0?this[this . length num]: this[num]);},这个方法的工作是从jquery对象的元素数组中找到其中一个,返回js原始节点元素对象,而不是jquery对象,这与eq方法不同。这个方法接受一个参数,如果参数不存在,它调用toArray方法返回一个包含所有元素的数组,如果是大于0的数字,可以直接用下标得到,如果是负数,可以用长度相加得到。在编写一些方法时,我们需要一个好的方法来支持正负下标。如果该数字未被写入,或者超过了当前对象中包含的元素的长度,它将返回undefined。

以上就是本文的全部内容,希望大家喜欢。

更多资讯
游戏推荐
更多+