JavaScript 全局属性和方法可用于创建Javascript对象。
JavaScript 全局属性
Infinity 属性
Infinity 属性用于存放表示正无穷大的数值。
负无穷大是表示负无穷大一个数字值。
在Javascript中,超出 1.7976931348623157E+103088 的数值即为Infinity,小于 -1.7976931348623157E+103088 的数值为无穷小。
实例
在本例中,我们将展示当一个数超出了 infinity 的限制发生的情况:
var x=1.7976931348623157E+10308;
document.write(x + "<br>");
var y=-1.7976931348623157E+10308;
document.write(y);
输出:
Infinity
-Infinity
NaN 属性
定义和用法
NaN 即非数值(Not a Number),NaN 属性用于引用特殊的非数字值,该属性指定的并不是不合法的数字。
NaN 属性 与 Number.Nan 属性相同。
提示: 请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。
语法
Number.NaN
技术细节
返回值: | NaN |
---|---|
JavaScript 版本: | 1.3 |
JavaScript undefined 属性
定义和用法
undefined 属性用于存放 JavaScript 中未定义的值。所有主要浏览器都支持 undefined 属性
实例
检测变量是否定义:
<script>
var t1="";
var t2;
if (t1===undefined)
{
alert("t1 is undefined");
}
if (t2===undefined)
{
alert("t2 is undefined");
}
</script>
以上实例输出结果:
t2 is undefined
JavaScript 全局函数
decodeURI() 函数
定义和用法
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
提示: 使用 encodeURI() 函数可以对 URI 进行编码。
语法
decodeURI(uri)
参数 | 描述 |
---|---|
uri | 必需。一个字符串,含有要解码的 URI 或其他要解码的文本。 |
The decodeURI() function 所有主要浏览器都支持。
实例
使用 decodeURI() 对一个编码后的 URI 进行解码:
<script>
var uri="my test.asp?name=ståle&car=saab";
document.write(encodeURI(uri)+ "<br>");
document.write(decodeURI(uri));
</script>
my%20test.php?name=st%C3%A5le&car=saab
my test.asp?name=ståle&car=saab
decodeURIComponent() 函数
定义和用法
decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。
提示:使用 encodeURIComponent() 方法可以对 URI 进行编码。
语法
decodeURIComponent(uri)
参数 | 描述 |
---|---|
uri | 必需。一个字符串,含有编码 URI 组件或其他要解码的文本。 |
所有主要浏览器都支持 decodeURIComponent() 函数。
Example
使用 decodeURIComponent() 对编码后的 URI 进行解码:
<script>
var uri="http://web176.com/my test.php?name=ståle&car=saab";
var uri_encode=encodeURIComponent(uri);
document.write(uri_encode);
document.write("<br>");
document.write(decodeURIComponent(uri_encode));
</script>
结果:
http%3A%2F%2Fweb176.com%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab
http://web176.com/my test.asp?name=ståle&car=saab
encodeURI() 函数
定义和用法
encodeURI() 函数可把字符串作为 URI 进行编码。
对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的: , / ? : @ & = + $ # (可以使用 encodeURIComponent() 方法分别对特殊含义的 ASCII 标点符号进行编码。).
提示:使用 decodeURI() 方法可以解码URI(通用资源标识符:UniformResourceIdentifier,简称”URI”)。
语法
encodeURI(uri)
参数 | 描述 |
---|---|
uri | 必需。一个字符串,含有 URI 或其他要编码的文本。 |
所有主要浏览器都支持 encodeURI() 函数。
Example
使用 encodeURI() 对 URI 进行编码:
var uri="my test.php?name=ståle&car=saab";
document.write(encodeURI(uri)+ "<br>");
输出:
my%20test.php?name=st%C3%A5le&car=saab
encodeURIComponent() 函数
定义和用法
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: – _ . ! ~ * ‘ ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
语法
encodeURIComponent(uri)
参数 | 描述 |
---|---|
uri | 必需。一个字符串,含有 URI 组件或其他要编码的文本。 |
所有主要浏览器都支持 encodeURIComponent() 函数。
Example
使用 encodeURIComponent() 对 URI 进行编码:
<script>
var uri="http://web176.com/my test.php?name=ståle&car=saab";
document.write(encodeURIComponent(uri));
</script>
输出:
http%3A%2F%2Fweb176.com%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab
escape() 函数
定义和用法
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ – _ + . / 。其他所有的字符都会被转义序列替换。
提示: 使用 unescape() 方法对字符串进行解码。
语法
escape(string)
参数 | 描述 |
---|---|
string | 必需。要被转义或编码的字符串。 |
提示和注释
注意: escape()函数不能用于编码 URIs(通用资源标识符(UniformResourceIdentifier,简称”URI”)). 可以使用函数 encodeURI() 取代。
实例
使用 escape() 来编码字符串:
<script>
document.write(escape("Need tips? Visit web176!"));
</script>
输出:
Need%20tips%3F%20Visit%web176%21
eval() 函数
定义和用法
eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。
如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。
语法
eval(string)
参数 | 描述 |
---|---|
string | 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 |
实例
执行JavaScript代码或表达式:
eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));
//result
200
4
27
isFinite() 函数
定义和用法
isFinite() 函数用于检查其参数是否是无穷大,也可以理解为是否为一个有限数值(finite number)。
提示: 如果参数是 NaN,正无穷大或者负无穷大,会返回 false,其他返回 true。
语法
isFinite(value)
参数 | 描述 |
---|---|
value | 必需。要检测的数字。 |
实例1
使用 isFinite() 在检测无穷数:
document.write(isFinite(123)+ "<br>");
document.write(isFinite(-1.23)+ "<br>");
document.write(isFinite(5-2)+ "<br>");
document.write(isFinite(0)+ "<br>");
document.write(isFinite("Hello")+ "<br>");
document.write(isFinite("2005/12/12")+ "<br>");
//result
true
true
true
true
false
false
实例2
isFinite(Infinity); // false
isFinite(NaN); // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite(2e64); // true, 在更强壮的 Number.isFinite(null) 中将会得到false
isFinite("0"); // true, 在更强壮的 Number.isFinite('0') 中将会得到false
isNaN() 函数
定义和用法
isNaN() 函数用于检查其参数是否是非数字值。
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。
语法
isNaN(value)
参数 | 描述 |
---|---|
value | 必需。要检测的值。 |
实例
检查数字是否非法:
document.write(isNaN(123)+ "<br>");
document.write(isNaN(-1.23)+ "<br>");
document.write(isNaN(5-2)+ "<br>");
document.write(isNaN(0)+ "<br>");
document.write(isNaN("Hello")+ "<br>");
document.write(isNaN("2005/12/12")+ "<br>");
//result
false
false
false
false
true
true
Number() 函数
定义和用法
Number() 函数把对象的值转换为数字。
如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
语法
Number(object)
参数 | 描述 |
---|---|
object | 可选。一个 JavaScript 对象。如果没有提供参数,则返回0。 |
提示和注释
注意:如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。
实例
把不同的对象转换为数字:
<script>
var test1= new Boolean(true);
var test2= new Boolean(false);
var test3= new Date();
var test4= new String("999");
var test5= new String("999 888");
document.write(Number(test1)+ "<br>");
document.write(Number(test2)+ "<br>");
document.write(Number(test3)+ "<br>");
document.write(Number(test4)+ "<br>");
document.write(Number(test5)+ "<br>");
</script>
//result
1
0
1627529061311
999
NaN
parseFloat() 函数
定义和用法
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
语法
parseFloat(string)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
提示和注释
注意: 字符串中只返回第一个数字。
注意: 开头和结尾的空格是允许的。
注意: 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
实例
使用 parseFloat() 来解析不同的字符串:
document.write(parseFloat("10") + "<br>");
document.write(parseFloat("10.33") + "<br>");
document.write(parseFloat("34 45 66") + "<br>");
document.write(parseFloat(" 60 ") + "<br>");
document.write(parseFloat("40 years") + "<br>");
document.write(parseFloat("He was 40") + "<br>");
//result
10
10.33
34
60
40
NaN
parseInt() 函数
定义和用法
parseInt() 函数可解析一个字符串,并返回一个整数。
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
当忽略参数 radix , JavaScript 默认数字的基数如下:
- 如果 string 以 “0x” 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
- 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
- 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
语法
parseInt(string, radix)
参数 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
radix | 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 |
提示和注释
注意: 只有字符串中的第一个数字会被返回。
注意: 开头和结尾的空格是允许的。
注意:如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。
注意:在字符串以”0″为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。
实例
我们将使用 parseInt() 来解析不同的字符串:
document.write(parseInt("10") + "<br>");
document.write(parseInt("10.33") + "<br>");
document.write(parseInt("34 45 66") + "<br>");
document.write(parseInt(" 60 ") + "<br>");
document.write(parseInt("40 years") + "<br>");
document.write(parseInt("He was 40") + "<br>");
document.write("<br>");
document.write(parseInt("10",10)+ "<br>");
document.write(parseInt("010")+ "<br>");
document.write(parseInt("10",8)+ "<br>");
document.write(parseInt("0x10")+ "<br>");
document.write(parseInt("10",16)+ "<br>");
//result
10
10
34
60
40
NaN
10
10
8
16
16
String() 函数
定义和用法
String() 函数把对象的值转换为字符串。
语法
String(object)
参数 | 描述 |
---|---|
object | 必需。JavaScript 对象。 |
提示和注释
注意: String() 函数返回与字符串对象的toString()方法值一样。
实例
把不同的对象转换为字符串:
<script>
var test1 = new Boolean(1);
var test2 = new Boolean(0);
var test3 = new Boolean(true);
var test4 = new Boolean(false);
var test5 = new Date();
var test6 = new String("999 888");
var test7 = 12345;
document.write(String(test1)+ "<br>");
document.write(String(test2)+ "<br>");
document.write(String(test3)+ "<br>");
document.write(String(test4)+ "<br>");
document.write(String(test5)+ "<br>");
document.write(String(test6)+ "<br>");
document.write(String(test7)+ "<br>");
</script>
//result
true
false
true
false
Thu Jul 29 2021 11:29:34 GMT+0800 (中国标准时间)
999 888
12345
unescape() 函数
定义和用法
unescape() 函数可对通过 escape() 编码的字符串进行解码。
提示: 使用函数escape() 对字符串进行编码。
语法
unescape(string)
参数 | 描述 |
---|---|
string | 必需。要解码的字符串。 |
提示和注释
注意: unescape()不能使用于对 URI(通用资源标识符:UniformResourceIdentifier,简称”URI”)精选解码. 解码 URI 请使用 decodeURI() 方法。
实例
在本例中,我们将使用 escape() 来编码字符串,然后使用 unescape() 对其解码:
<script>
var str="Need tips? Visit web176!";
var str_esc=escape(str);
document.write(str_esc + "<br>")
document.write(unescape(str_esc))
</script>
//result
Need%20tips%3F%20Visit%20web176%21
Need tips? Visit web176!
作者:terry,如若转载,请注明出处:https://www.web176.com/javascriptbook/javascriptarray/2781.html