The source code
-
-
+
+
@@ -22,7 +22,7 @@
(function() {
var global = this,
objectPrototype = Object.prototype,
- toString = Object.prototype.toString,
+ toString = objectPrototype.toString,
enumerables = true,
enumerablesTest = { toString: 1 },
i;
@@ -44,7 +44,7 @@
/**
* An array containing extra enumerables for old browsers
- * @type Array
+ * @property {String[]}
*/
Ext.enumerables = enumerables;
@@ -97,7 +97,6 @@
/**
* Copies all the properties of config to object if they don't already exist.
- * @function
* @param {Object} object The receiver of the properties
* @param {Object} config The source of the properties
* @return {Object} returns obj
@@ -264,10 +263,10 @@
* Returns the given value itself if it's not empty, as described in {@link Ext#isEmpty}; returns the default
* value (second argument) otherwise.
*
- * @param {Mixed} value The value to test
- * @param {Mixed} defaultValue The value to return if the original value is empty
+ * @param {Object} value The value to test
+ * @param {Object} defaultValue The value to return if the original value is empty
* @param {Boolean} allowBlank (optional) true to allow zero length strings to qualify as non-empty (defaults to false)
- * @return {Mixed} value, if non-empty, else defaultValue
+ * @return {Object} value, if non-empty, else defaultValue
*/
valueFrom: function(value, defaultValue, allowBlank){
return Ext.isEmpty(value, allowBlank) ? defaultValue : value;
@@ -290,7 +289,7 @@
* - `textnode`: If the given value is a DOM text node and contains something other than whitespace
* - `whitespace`: If the given value is a DOM text node and contains only whitespace
*
- * @param {Mixed} value
+ * @param {Object} value
* @return {String}
* @markdown
*/
@@ -354,7 +353,7 @@
* - a zero-length array
* - a zero-length string (Unless the `allowEmptyString` parameter is set to `true`)
*
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @param {Boolean} allowEmptyString (optional) true to allow empty strings (defaults to false)
* @return {Boolean}
* @markdown
@@ -366,7 +365,7 @@
/**
* Returns true if the passed value is a JavaScript Array, false otherwise.
*
- * @param {Mixed} target The target to test
+ * @param {Object} target The target to test
* @return {Boolean}
* @method
*/
@@ -385,13 +384,14 @@
/**
* Returns true if the passed value is a JavaScript Object, false otherwise.
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
* @method
*/
isObject: (toString.call(null) === '[object Object]') ?
function(value) {
- return value !== null && value !== undefined && toString.call(value) === '[object Object]' && value.nodeType === undefined;
+ // check ownerDocument here as well to exclude DOM nodes
+ return value !== null && value !== undefined && toString.call(value) === '[object Object]' && value.ownerDocument === undefined;
} :
function(value) {
return toString.call(value) === '[object Object]';
@@ -399,7 +399,7 @@
/**
* Returns true if the passed value is a JavaScript 'primitive', a string, number or boolean.
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isPrimitive: function(value) {
@@ -410,7 +410,7 @@
/**
* Returns true if the passed value is a JavaScript Function, false otherwise.
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
* @method
*/
@@ -425,7 +425,7 @@
/**
* Returns true if the passed value is a number. Returns false for non-finite numbers.
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isNumber: function(value) {
@@ -434,7 +434,7 @@
/**
* Validates that a value is numeric.
- * @param {Mixed} value Examples: 1, '1', '2.34'
+ * @param {Object} value Examples: 1, '1', '2.34'
* @return {Boolean} True if numeric, false otherwise
*/
isNumeric: function(value) {
@@ -443,7 +443,7 @@
/**
* Returns true if the passed value is a string.
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isString: function(value) {
@@ -453,7 +453,7 @@
/**
* Returns true if the passed value is a boolean.
*
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isBoolean: function(value) {
@@ -462,7 +462,7 @@
/**
* Returns true if the passed value is an HTMLElement
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isElement: function(value) {
@@ -471,7 +471,7 @@
/**
* Returns true if the passed value is a TextNode
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isTextNode: function(value) {
@@ -480,7 +480,7 @@
/**
* Returns true if the passed value is defined.
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isDefined: function(value) {
@@ -489,7 +489,7 @@
/**
* Returns true if the passed value is iterable, false otherwise
- * @param {Mixed} value The value to test
+ * @param {Object} value The value to test
* @return {Boolean}
*/
isIterable: function(value) {
@@ -501,8 +501,8 @@
/**
* Clone almost any type of variable including array, object, DOM nodes and Date without keeping the old reference
- * @param {Mixed} item The variable to clone
- * @return {Mixed} clone
+ * @param {Object} item The variable to clone
+ * @return {Object} clone
*/
clone: function(item) {
if (item === null || item === undefined) {
@@ -565,7 +565,7 @@
var i = 0;
do {
- uniqueGlobalNamespace = 'ExtSandbox' + (++i);
+ uniqueGlobalNamespace = 'ExtBox' + (++i);
} while (Ext.global[uniqueGlobalNamespace] !== undefined);
Ext.global[uniqueGlobalNamespace] = Ext;
@@ -594,6 +594,7 @@
* Old alias to {@link Ext#typeOf}
* @deprecated 4.0.0 Use {@link Ext#typeOf} instead
* @method
+ * @alias Ext#typeOf
*/
Ext.type = Ext.typeOf;