Lang Class
Provides core language utilites and extensions used throughout YUI.
Item Index
Methods
_isNative
    
        - 
                    
                        
fn 
Returns true if the given function appears to be implemented in native code,
false otherwise. Will always return false -- even in ES5-capable browsers --
if the useNativeES5 YUI config option is set to false.
This isn't guaranteed to be 100% accurate and won't work for anything other than
functions, but it can be useful for determining whether a function like
Array.prototype.forEach is native or a JS shim provided by another library.
There's a great article by @kangax discussing certain flaws with this technique: http://perfectionkills.com/detecting-built-in-host-methods/
While his points are valid, it's still possible to benefit from this function as long as it's used carefully and sparingly, and in such a way that false negatives have minimal consequences. It's used internally to avoid using potentially broken non-native ES5 shims that have been added to the page by other libraries.
Parameters:
- 
                    
                        
fnFunctionFunction to test.
 
Returns:
true if fn appears to be native, false otherwise.
isArray
    
        - 
                    
                        
o 
Determines whether or not the provided item is an array.
Returns false for array-like collections such as the function arguments
collection or HTMLElement collections. Use Y.Array.test() if you want to
test for an array-like collection.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is an array.
isBoolean
    
        - 
                    
                        
o 
Determines whether or not the provided item is a boolean.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is a boolean.
isDate
    
        - 
                    
                        
o 
Determines whether or not the supplied item is a date instance.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is a date.
isFunction
    
        - 
                    
                        
o 
Determines whether or not the provided item is a function. Note: Internet Explorer thinks certain functions are objects:
var obj = document.createElement("object");
Y.Lang.isFunction(obj.getAttribute) // reports false in IE
 
var input = document.createElement("input"); // append to body
Y.Lang.isFunction(input.focus) // reports false in IE
You will have to implement additional tests if these functions matter to you.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is a function.
isNull
    
        - 
                    
                        
o 
Determines whether or not the provided item is null.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is null.
isNumber
    
        - 
                    
                        
o 
Determines whether or not the provided item is a legal number.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is a number.
isObject
    
        - 
                    
                        
o - 
                    
                        
failfn 
Determines whether or not the provided item is of type object
or function. Note that arrays are also objects, so
Y.Lang.isObject([]) === true.
Returns:
true if o is an object.
isRegExp
    
        - 
                    
                        
value 
Determines whether or not the provided value is a regexp.
Parameters:
- 
                    
                        
valueObjectThe value or object to test.
 
Returns:
true if value is a regexp.
isString
    
        - 
                    
                        
o 
Determines whether or not the provided item is a string.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is a string.
isUndefined
    
        - 
                    
                        
o 
Determines whether or not the provided item is undefined.
Parameters:
- 
                    
                        
oObjectThe object to test.
 
Returns:
true if o is undefined.
isValue
    
        - 
                    
                        
o 
A convenience method for detecting a legitimate non-null value. Returns false for null/undefined/NaN, true for other values, including 0/false/''
Parameters:
- 
                    
                        
oObjectThe item to test.
 
Returns:
true if it is not null/undefined/NaN || false.
now
    
        ()
    
    
        
            Number
        
    
    
    
    
    
        static
    
    
    
    
    Returns the current time in milliseconds.
Returns:
Current time in milliseconds.
sub
    
        - 
                    
                        
s - 
                    
                        
o 
Performs {placeholder} substitution on a string. The object passed as the 
second parameter provides values to replace the {placeholder}s.
{placeholder} token names must match property names of the object. For example,
var greeting = Y.Lang.sub("Hello, {who}!", { who: "World" });
{placeholder} tokens that are undefined on the object map will be left 
in tact (leaving unsightly {placeholder}'s in the output string).
Returns:
the substitute result.
trim
    
        - 
                    
                        
s 
Returns a string without any leading or trailing whitespace. If the input is not a string, the input will be returned untouched.
Parameters:
- 
                    
                        
sStringthe string to trim.
 
Returns:
the trimmed string.
trimLeft
    
        - 
                    
                        
s 
Returns a string without any leading whitespace.
Parameters:
- 
                    
                        
sStringthe string to trim.
 
Returns:
the trimmed string.
trimRight
    
        - 
                    
                        
s 
Returns a string without any trailing whitespace.
Parameters:
- 
                    
                        
sStringthe string to trim.
 
Returns:
the trimmed string.
type
    
        - 
                    
                        
o 
Returns one of the following strings, representing the type of the item passed in:
- "array"
 - "boolean"
 - "date"
 - "error"
 - "function"
 - "null"
 - "number"
 - "object"
 - "regexp"
 - "string"
 - "undefined"
 
Known issues:
typeof HTMLElementCollectionreturns function in Safari, butY.Lang.type()reports "object", which could be a good thing -- but it actually caused the logic inY.Lang.isObjectto fail.
Parameters:
- 
                    
                        
oObjectthe item to test.
 
Returns:
the detected type.
