jquery学习笔记一:数据类型判断 之 小疑惑
2012-07-23 23:33
609 查看
闲来无事想学下jquery,就扒了下jquery(1.7.2)的源码,看到开头前面的工具函数,有个判断数据类型的挺实用的,就果断摘出来用。
下面两段代码,分别为:
(1)自己从jquery里摘出来的代码,适当修改了下。
(2)jquery里面相关部分的代码,有点小疑惑,写在中文注释部分了,求指导。
代码一:
代码二:
下面两段代码,分别为:
(1)自己从jquery里摘出来的代码,适当修改了下。
(2)jquery里面相关部分的代码,有点小疑惑,写在中文注释部分了,求指导。
代码一:
var util = function(){ var class2Type = {}; var typeArr = "Number String Boolean Array Function RegExp Object Date".split(' '); for(var i=0,len=typeArr.length; i<len; i++){ var type = typeArr[i]; class2Type['[object '+ type+']'] = type.toLowerCase(); } return { type: function(obj){ //jquery里NaN类型没做特殊判断,$.type(NaN)输出为'number',有点不理解 return ( obj == null || isNaN(obj) ) ? String(obj).toLowerCase() : class2Type[Object.prototype.toString.call(obj)] || 'object'; }, isNumber: function(obj){ // return this.type(obj) === 'number'; } }; }();
代码二:
class2type = {}; jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); }); isNumeric: function( obj ) { //此处若传入参数obj为'1122',结果为true,为何不直接用$.type(obj) === 'number' return !isNaN( parseFloat(obj) ) && isFinite( obj ); }, type: function( obj ) { //如果参数obj为NaN,$.type(NaN)结果为‘number’,是否有误? return obj == null ? String( obj ) : class2type[ toString.call(obj) ] || "object"; },
相关文章推荐
- C++学习笔记一:cout如何判断输入数据类型
- python 学习笔记day01-python概述、安装、数据类型、if判断
- Java学习笔记(1)——基本数据类型
- OpenCv2 学习笔记(4) OpenCv基本的数据类型
- 【C++学习笔记】对float型数据类型和double型数据的理解
- IOS学习笔记 - NSFileManager,沙盒路径,NSString类路径处理,NSCache,读取文件头判断图片类型
- java学习笔记(2)基本数据类型对象包装类
- C#学习笔记3——数据类型
- Python学习笔记一:数据类型转换
- 数据类型回顾——JS学习笔记2015-6-1(第45天)
- Python学习笔记一:数据类型转换
- Mysql常用数据类型详细说明及实例说明(学习笔记一)
- scala学习笔记一(基础,安装及数据类型)
- QT学习笔记-数据类型
- Javascript学习笔记1 数据类型
- jQuery-1.11.3源码中的判断数据类型
- Mysql学习笔记(二)数据类型 补充
- C++学习笔记(第七章 自定义数据类型 结构体应用 之三)
- C++学习笔记之数据类型杂记
- Python数据类型学习笔记