Table 2.2
Top-level functions
|
Function
|
Description
|
|
decodeURI
|
Decodes a URI which has been encoded
with encodeURI.
|
|
decodeURIComponent
|
Decodes a URI which has been encoded
with encodeURIComponent
|
|
encodeURI
|
Computes a new version of a complete URI
replacing each instance of certain characters with escape
sequences representing the UTF-8 encoding of the characters.
|
|
encodeURIComponent
|
Computes a new version of components of
a URI replacing each instance of certain characters with
escape sequences representing the UTF-8 encoding of the
characters.
|
|
eval
|
Evaluates a string of JavaScript code
without reference to a particular object.
|
|
isFinite
|
Evaluates an argument to determine
whether it is a finite number.
|
|
isNaN
|
Evaluates an argument to determine if it
is not a number.
|
|
Number
|
Converts an object to a number.
|
|
parseFloat
|
Parses a string argument and returns a
floating-point number.
|
|
parseInt
|
Parses a string argument and returns an
integer.
|
|
String
|
Converts an object to a string.
|
decodeURI
Decodes
a Uniform Resource Identifier (URI) previously created by encodeURI or by a similar
routine.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.5, NES 6.0
|
|
ECMA version
|
ECMA-262 Edition 3.
|
Syntax
decodeURI(encodedURI)
Parameters
|
encodedUri
|
A complete, encoded Uniform Resource
Identifier.
|
Description
Replaces each escape sequence in the encoded
URI with the character that it represents.
Does
not decode escape sequences that could not have been introduced by
encodeURI.
See also
decodeURIComponent, encodeURI, encodeURIComponent
decodeURIComponent
Decodes
a Uniform Resource Identifier (URI) component previously created by
encodeURIComponent or by a similar
routine.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.5, NES 6.0
|
|
ECMA version
|
ECMA-262 Edition 3.
|
Syntax
decodeURIComponent(encodedURI)
Parameters
|
encodedUri
|
An encoded component of a Uniform
Resource Identifier.
|
Description
Replaces each escape sequence in the encoded
URI component with the character that it represents.
See also
decodeURI,
encodeURI, encodeURIComponent
encodeURI
Encodes
a Uniform Resource Identifier (URI) by replacing each instance of
certain characters by one, two, or three escape sequences
representing the UTF-8 encoding of the character.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.5, NES 6.0
|
|
ECMA version
|
ECMA-262 Edition 3.
|
Syntax
encodeURI(uri)
Parameters
|
uri
|
A complete Uniform Resource Identifier.
|
Description
Assumes that the URI is a complete URI, so
does not encode reserved characters that have special meaning in
the URI.
encodeURI
replaces all characters except the following with the appropriate
UTF-8 escape sequences:
.
|
reserved characters
|
, / ? : @ & = + $ ,
|
|
unescaped characters
|
alphabetic, decimal digits, - _ . ! ~ *
' ( )
|
|
score
|
#
|
See also
decodeURI,
eval, encodeURIComponent
encodeURIComponent
Encodes
a Uniform Resource Identifier (URI) component by replacing each
instance of certain characters by one, two, or three escape sequences
representing the UTF-8 encoding of the character.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.5, NES 6.0
|
|
ECMA version
|
ECMA-262 Edition 3.
|
Syntax
encodeURIComponent(uri)
Parameters
|
uri
|
A component of a Uniform Resource
Identifier.
|
Description
Assumes that the URI is a URI component rather
than a complete URI, so does not treat reserved characters as if
they have special meaning and encodes them. See encodeURI for the list of reserved
characters.
encodeURIComponent
replaces all characters except the following with the appropriate
UTF-8 escape sequences:
.
|
unescaped characters
|
alphabetic, decimal digits, - _ . ! ~ *
' ( )
|
|
score
|
#
|
See also
decodeURI,
eval, encodeURI
eval
Evaluates a string of JavaScript code without
reference to a particular object.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.0
JavaScript 1.4: eval cannot be called
indirectly
|
|
ECMA version
|
ECMA-262
|
Syntax
eval(string)
Parameters
|
string
|
A string representing a JavaScript
expression, statement, or sequence of statements. The
expression can include variables and properties of existing
objects.
|
Description
eval is a
top-level function and is not associated with any object.
The
argument of the eval function is a
string. If the string represents an expression, eval evaluates the
expression. If the argument represents one or more JavaScript
statements, eval performs the
statements. Do not call eval to evaluate an
arithmetic expression; JavaScript evaluates arithmetic expressions
automatically.
If you
construct an arithmetic expression as a string, you can use
eval to
evaluate it at a later time. For example, suppose you have a
variable x. You can postpone
evaluation of an expression involving x by assigning the
string value of the expression, say "3 * x + 2",
to a variable, and then calling eval at a later point
in your script.
If the
argument of eval is not a string,
eval
returns the argument unchanged. In the following example, the
String
constructor is specified, and eval returns a
String
object rather than evaluating the string.
eval(new String("2+2")) // returns a String
object containing "2+2"
eval("2+2")
//
returns 4
You
cannot indirectly use the eval function by
invoking it via a name other than eval; if you do, a
runtime error might occur. For example, you should not use the
following code:
var x = 2
var y = 4
var myEval = eval
myEval("x + y")
Backward Compatibility
JavaScript 1.3 and earlier versions.
You
can use eval indirectly,
although it is discouraged.
JavaScript 1.1.
eval is also
a method of all objects. This method is described for the
Object class.
Examples
The
following examples display output using document.write. In
server-side JavaScript, you can display the same output by calling
the write
function instead of using document.write.
Example 1. In the following code, both
of the statements containing eval return 42. The
first evaluates the string "x + y + 1"; the
second evaluates the string "42".
var x = 2
var y = 39
var z = "42"
eval("x + y + 1") // returns 42
eval(z)
//
returns 42
Example 2. In the following example,
the getFieldName(n)
function returns the name of the specified form element as a
string. The first statement assigns the string value of the third
form element to the variable field. The second
statement uses eval to display the
value of the form element.
var field = getFieldName(3)
document.write("The field named ", field, " has value of ",
eval(field + ".value"))
Example 3. The following example uses
eval to
evaluate the string str. This string
consists of JavaScript statements that open an Alert dialog box and
assign z a
value of 42 if x is five, and
assigns 0 to z otherwise. When the
second statement is executed, eval will cause these
statements to be performed, and it will also evaluate the set of
statements and return the value that is assigned to
z.
var str = "if (x == 5) {alert('z is 42'); z =
42;} else z = 0; "
document.write("<P>z is ", eval(str))
Example 4. In the following example,
the setValue function
uses eval
to assign the value of the variable newValue to the text
field textObject:
function setValue (textObject, newValue) {
eval ("document.forms[0]." + textObject +
".value") = newValue
}
See also
Object.eval
method
Infinity
A
numeric value representing infinity.
|
Core property
|
|
|
Implemented in
|
JavaScript 1.3 (In previous versions,
Infinity was
defined only as a property of the Number object.)
|
|
ECMA version
|
ECMA-262
|
Syntax
Infinity
Description
Infinity
is a top-level property and is not associated with any object.
The
initial value of Infinity is
Number.POSITIVE_INFINITY.
The value Infinity (positive
infinity) is greater than any other number including itself. This
value behaves mathematically like infinity; for example, anything
multiplied by Infinity is
Infinity,
and anything divided by Infinity is 0.
See also
Number.NEGATIVE_INFINITY
,
Number.POSITIVE_INFINITY
isFinite
Evaluates an argument to determine whether it is
a finite number.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.3
|
|
ECMA version
|
ECMA-262
|
Syntax
isFinite(number)
Parameters
|
number
|
The number to evaluate.
|
Description
isFinite
is a top-level function and is not associated with any object.
You
can use this method to determine whether a number is a finite
number. The isFinite method
examines the number in its argument. If the argument is
NaN,
positive infinity or negative infinity, this method returns
false,
otherwise it returns true.
Examples
You
can check a client input to determine whether it is a finite
number.
if(isFinite(ClientInput) == true)
{
/* take specific steps */
}
See also
Number.NEGATIVE_INFINITY
,
Number.POSITIVE_INFINITY
isNaN
Evaluates an argument to determine if it is not
a number.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.0: Unix only
JavaScript 1.1, NES 2.0: all platforms
|
|
ECMA version
|
ECMA-262
|
Syntax
isNaN(testValue)
Parameters
|
testValue
|
The value you want to evaluate.
|
Description
isNaN is a
top-level function and is not associated with any object.
The
parseFloat
and parseInt functions
return NaN
when they evaluate a value that is not a number. isNaN returns true if
passed NaN, and false
otherwise.
Examples
The
following example evaluates floatValue to
determine if it is a number and then calls a procedure accordingly:
floatValue=parseFloat(toFloat)
if (isNaN(floatValue)) {
notFloat()
} else {
isFloat()
}
See also
Number.NaN,
parseFloat, parseInt
NaN
A value
representing Not-A-Number.
|
Core property
|
|
|
Implemented in
|
JavaScript 1.3 (In previous versions,
NaN
was defined only as a property of the Number object)
|
|
ECMA version
|
ECMA-262
|
Syntax
NaN
Description
NaN is a
top-level property and is not associated with any object.
The
initial value of NaN is NaN.
NaN is
always unequal to any other number, including NaN itself; you
cannot check for the not-a-number value by comparing to
Number.NaN.
Use the isNaN function
instead.
Several JavaScript methods (such as the
Number
constructor, parseFloat, and
parseInt)
return NaN
if the value specified in the parameter is not a number.
You
might use the NaN property to
indicate an error condition for a function that should return a
valid number.
See also
isNaN,
Number.NaN
Number
Converts
the specified object to a number.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.2, NES 3.0
|
|
ECMA version
|
ECMA-262
|
Syntax
Number(obj)
Parameter
Description
Number is
a top-level function and is not associated with any object.
When
the object is a Date object,
Number
returns a value in milliseconds measured from 01 January, 1970 UTC
(GMT), positive after this date, negative before.
If
obj is
a string that does
not contain a well-formed numeric literal, Number returns NaN.
Example
The
following example converts the Date
object to a numerical value:
d = new Date ("December 17, 1995 03:24:00")
alert (Number(d))
This
displays a dialog box containing "819199440000."
See also
Number
parseFloat
Parses a
string argument and returns a floating point number.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.0: If the first character
of the string specified in parseFloat(string) cannot
be converted to a number, returns NaN on Solaris
and Irix and 0 on all other platforms.
JavaScript 1.1, NES 2.0: Returns
NaN
on all platforms if the first character of the string
specified in parseFloat(string) cannot
be converted to a number.
|
|
ECMA version
|
ECMA-262
|
Syntax
parseFloat(string)
Parameters
|
string
|
A string that represents the value you
want to parse.
|
Description
parseFloat
is a top-level function and is not associated with any object.
parseFloat
parses its argument, a string, and returns a floating point number.
If it encounters a character other than a sign (+ or -), numeral
(0-9), a decimal point, or an exponent, it returns the value up to
that point and ignores that character and all succeeding
characters. Leading and trailing spaces are allowed.
If the
first character cannot be converted to a number, parseFloat returns
NaN.
For
arithmetic purposes, the NaN value is not a
number in any radix. You can call the isNaN function to
determine if the result of parseFloat is
NaN. If
NaN is
passed on to arithmetic operations, the operation results will also
be NaN.
Examples
The
following examples all return 3.14:
parseFloat("3.14")
parseFloat("314e-2")
parseFloat("0.0314E+2")
var x = "3.14"
parseFloat(x)
The
following example returns NaN:
parseFloat("FF2")
See also
isNaN,
parseInt
parseInt
Parses a
string argument and returns an integer of the specified radix or
base.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.0: If the first character
of the string specified in parseInt(string) cannot
be converted to a number, returns NaN on Solaris
and Irix and 0 on all other platforms.
JavaScript 1.1, LiveWire 2.0: Returns
NaN
on all platforms if the first character of the string
specified in parseInt(string) cannot
be converted to a number.
|
|
ECMA version
|
ECMA-262
|
Syntax
parseInt(string[, radix])
Parameters
|
string
|
A string that represents the value you
want to parse.
|
|
radix
|
An integer that represents the radix of
the return value.
|
Description
parseInt
is a top-level function and is not associated with any object.
The
parseInt
function parses its first argument, a string, and attempts to
return an integer of the specified radix (base). For example, a
radix of 10 indicates to convert to a decimal number, 8 octal, 16
hexadecimal, and so on. For radixes above 10, the letters of the
alphabet indicate numerals greater than 9. For example, for
hexadecimal numbers (base 16), A through F are used.
If
parseInt
encounters a character that is not a numeral in the specified
radix, it ignores it and all succeeding characters and returns the
integer value parsed up to that point. parseInt truncates
numbers to integer values. Leading and trailing spaces are allowed.
If the
radix is not specified or is specified as 0, JavaScript assumes the
following:
-
-
If the input string begins with
"0x",
the radix is 16 (hexadecimal).
-
If the input string begins with
"0", the
radix is eight (octal). This feature is deprecated.
-
If the input string begins with
any other value, the radix is 10 (decimal).
If the
first character cannot be converted to a number, parseInt returns
NaN.
For
arithmetic purposes, the NaN value is not a
number in any radix. You can call the isNaN function to
determine if the result of parseInt is
NaN. If
NaN is
passed on to arithmetic operations, the operation results will also
be NaN.
Examples
The
following examples all return 15:
parseInt("F", 16)
parseInt("17", 8)
parseInt("15", 10)
parseInt(15.99, 10)
parseInt("FXX123", 16)
parseInt("1111", 2)
parseInt("15*3", 10)
The
following examples all return NaN:
parseInt("Hello", 8)
parseInt("0x7", 10)
parseInt("FFF", 10)
Even
though the radix is specified differently, the following examples
all return 17 because the input string begins with
"0x".
parseInt("0x11", 16)
parseInt("0x11", 0)
parseInt("0x11")
See also
isNaN,
parseFloat, Object.valueOf
String
Converts
the specified object to a string.
|
Core function
|
|
|
Implemented in
|
JavaScript 1.2, NES 3.0
|
|
ECMA version
|
ECMA-262
|
Syntax
String(obj)
Parameter
Description
String is
a top-level function and is not associated with any object.
The
String
method converts the value of any object into a string; it returns
the same value as the toString method of an
individual object.
When
the object is a Date object,
String
returns a more readable string representation of the date. Its
format is: Thu Aug 18 04:37:43 Pacific Daylight Time 1983.
Example
The
following example converts the Date
object to a readable string.
D = new Date (430054663215)
alert (String(D))
This
displays a dialog box containing "Thu Aug 18 04:37:43 GMT-0700
(Pacific Daylight Time) 1983."
See also
String
undefined
The
value undefined.
|
Core property
|
|
|
Implemented in
|
JavaScript 1.3
|
|
ECMA version
|
ECMA-262
|
Syntax
undefined
Description
undefined
is a top-level property and is not associated with any object.
A
variable that has not been assigned a value is of type undefined. A
method or statement also returns undefined if the
variable that is being evaluated does not have an assigned value.
You
can use undefined to
determine whether a variable has a value. In the following code,
the variable x is not defined, and
the if
statement evaluates to true.
var x
if(x == undefined) {
// these statements execute
}
undefined
is also a primitive value.