Made jQuery.type more consistent with host objects.
This commit is contained in:
parent
7367b524ec
commit
484cc6e220
2 changed files with 15 additions and 3 deletions
12
src/core.js
12
src/core.js
|
@ -69,7 +69,10 @@ var jQuery = function( selector, context ) {
|
|||
push = Array.prototype.push,
|
||||
slice = Array.prototype.slice,
|
||||
trim = String.prototype.trim,
|
||||
indexOf = Array.prototype.indexOf;
|
||||
indexOf = Array.prototype.indexOf,
|
||||
|
||||
// [[Class]] -> type pairs
|
||||
class2type = {};
|
||||
|
||||
jQuery.fn = jQuery.prototype = {
|
||||
init: function( selector, context ) {
|
||||
|
@ -487,7 +490,7 @@ jQuery.extend({
|
|||
type: function( obj ) {
|
||||
return obj == null ?
|
||||
String( obj ) :
|
||||
toString.call(obj).slice(8, -1).toLowerCase();
|
||||
class2type[ toString.call(obj) ] || "object";
|
||||
},
|
||||
|
||||
isPlainObject: function( obj ) {
|
||||
|
@ -799,6 +802,11 @@ jQuery.extend({
|
|||
browser: {}
|
||||
});
|
||||
|
||||
// Populate the class2type map
|
||||
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
|
||||
class2type[ "[object " + name + "]" ] = name.toLowerCase();
|
||||
});
|
||||
|
||||
browserMatch = jQuery.uaMatch( userAgent );
|
||||
if ( browserMatch.browser ) {
|
||||
jQuery.browser[ browserMatch.browser ] = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue