在jQuery的使用方法美元。工具功能,美元。ISArray(),()iswindow美元。

在jQuery的使用方法美元。工具功能,美元。ISArray(),()iswindow美元。
在Javascript中的变量的类型的判断,解释了我们的原则。型()实现在jQuery,jQuery不仅提供了工具和美元工具。型,但也提供了一些其他工具和方法:美元。功能(),(),美元。ISArray美元。iswindow(),美元。ISNUMERIC()等。使用方法名的方法可以从哪里来,我们将解释以下几种方法在jQuery(2.1.2)在内部实现的细节。

1。美元的功能()。

美元。功能()是用来确定变量的函数类型,我们可以通过几个例子。
美元。功能(123); / /假
美元。功能(true); / /假
美元。功能({ 1, 2 }); / /假
美元。功能(函数(){ }); / /真的

函数(){

}
var SFUNC =函数(){()

}
美元。功能(功能); / /真的
美元。功能(SFUNC); / /真的
正如你可以看到在美元上面的例子。功能(参数),如果传入的参数是函数的类型,则返回true;其他类型返回false。

看看jQuery的源代码,我们可以看到美元。功能是通过()实现的类型()美元。
功能:功能(obj){
返回jquery.type(obj)=功能;
}
2。美元。ISArray()

美元。ISArray()用来判断一个变量是一个类型的数组,以同样的方式,我们还采取了一些例子来看看ISArray使用美元。
(123)美元。ISArray; / /假
美元。ISArray(true); / /假
美元。ISArray({ 1, 2 }); / /真的
美元。ISArray(新阵列(3, 4)); / /真的
无论是字面数组或变量使用一个新的关键字创建的,你可以使用美元。ISArray()来确定的,它是一个数组类型。在jQuery源码,美元。ISArray调用本地阵列提供的ISArray方法。因为在高版本的浏览器,Javascript已有一个判断一个变量是一个数组类型的ISArray方法。

array.isarray ISArray:

三.iswindow()美元。

美元。iswindow()用来判断当前变量窗口,如:
美元。iswindow(窗口); / /真的
美元。iswindow({ }); / /假
美元。iswindow(空); / /假
在jQuery源代码中:
IsWindow:功能(obj){
返回obj = null对象= obj.window;
}
他决定目标是通过判断对象有一个窗口,属性窗口对象。因为在窗口对象有一个属性窗口,那是他自己,所以窗口。窗口= = =窗口,同:

window.window.window.window =窗口;

它可以一直在流通。

为什么代码首先判断obj是空的吗因为当判断是否为空或未定义有一个窗口的属性,代码将抛出一个例外:Uncaught TypeError:不能读空属性窗口。因此,为了防止代码中的错误,我们首先判断变量是空的。如果NULL是,那么它肯定不是窗口对象,并直接返回false;否则,我们将进一步确定变量是否具有窗口属性。

4。ISNUMERIC()美元。

(美元。ISNUMERIC)是用来确定当前的数字型变量,但我为什么不使用美元。型()= =数的判断。让我们先看一些官方的例子。

美元。ISNUMERIC(10); / /真的
美元。ISNUMERIC(16); / /真的
美元。ISNUMERIC(0xFF); / /真的
美元。ISNUMERIC(0xFF); / /真的
美元。ISNUMERIC(8e5 / /真实);(指数符号串)
美元。ISNUMERIC(3.1415); / /真的
美元。ISNUMERIC(+ 10); / /真的
美元。ISNUMERIC(0144); / /真实(八进制整数)
(美元。ISNUMERIC ); / /假
美元。ISNUMERIC({ }); / /假(空的对象)
美元。ISNUMERIC(南); / /假
美元。ISNUMERIC(null); / /假
美元。ISNUMERIC(true); / /假
美元。ISNUMERIC(无穷大); / /假
美元。ISNUMERIC(定义); / /假
使用$()。ISNUMERIC确定字符串类型如10,0xFF,至数。式()将它解释成一个字符串类型。

在jQuery源代码中,这是变量的判断类型:
ISNUMERIC:功能(obj){
NaN数字铸误报 / / parseFloat(零|真|假| )
但领先数 / /曲解…字符串,特别是六字面值(0x…)
力量无穷大到南 / /减法
1校正 / /添加精度从parseFloat(#损失15100)
返回!JQuery.isArray(obj(obj)- parseFloat(obj)+ 1)> = 0;
}
首先,确定它的变量是否是数组类型,如果它直接返回false,但是为什么要先确定变量是否是数组类型因为数组{ 123 }型可直接扣除,也可由parseFloat转化成一个数字({ 123 })。
{ 100 } - 60 40
{ 100 } { 60 } 40
ParseFloat({ 123 }) / 123
ParseFloat({ 345 }) / 345
所以它不能直接转换通过parseFloat()然后判断。首先,我们判断变量是否为数组;如果没有下一步。

(obj - parseFloat(obj)+ 1)> = 0

The number of pure numbers, the string type, the number 0 (8 digits), and the array (16 hexadecimal) at the beginning of 0x can be converted to 10 digits by parseFloat ().Through the operation of the above expression, it must be greater than 0.But why do you add 1代码也说明转换为parseFloat()可以导致损失的精度问题,使结果更为准确后+ 1。

和其他类型的parseFloat()转换为南,南,无论怎样操作,无法相比的0,返回假。

在jQuery的以前的版本(如2.0.2):
ISNUMERIC:功能(obj){
返回!IsNaN(parseFloat(obj))需(obj);
}
我们可以发现,这样的代码运行后美元。ISNUMERIC({ 123 }),得到真实的,而事实上,它是一个数组类型,但它的好,后来的版本已经固定。

5。isemptyobject()美元。

美元。isemptyobject()不是用来判断一个变量的类型,但判断一个对象类型是空的,不包含属性。

从jQuery 1.4,该方法检测对象本身的性质,并检测从原型继承的属性(所以没有使用hasownproperty)。参数应该是一个普通的Javascript对象,可以不提供其他类型的对象一致的结果(DOM元素,原始字符串或数字宿主对象),跨浏览器。
美元。isemptyobject({姓名:文子}) / /假
美元。isemptyobject({ }) / /真的

功能人(){
this.name =文字
}
美元。isemptyobject(新)(人); / /假

函数学生(){

}
student.prototype.name =文字;
美元。isemptyobject(新)(学生); / /假
我们可以看到对象本身的属性,或者原型上的属性,只要它存在就返回false。
isemptyobject:功能(obj){
变量名;
(名为obj){
返回false;
}
返回true;
}
在jQuery,它是检测为~在~ in.because也能够运行在样机的性能,如果你进入循环,这表明目标属性玩假;否则,返回true。

6。总结

jQuery中也有各种各样的工具,使我们更方便地编写JS代码。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部