JavaScript对象:全局属性/函数

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

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年7月28日 下午5:51
下一篇 2021年7月29日 上午11:40

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注