JavaScript 内置对象之 function

本文介绍了JavaScript中的全局对象,包括常见的全局函数如escape、eval、isNaN等的用途及使用注意事项,以及全局属性如Infinity、NaN等的含义。同时,文中还解释了如何通过全局对象访问其他预定义对象、函数和属性。

JavaScript提供了内部(或”内置”)对象。它们是Array、Boolean、 Date、 Error、 Function、 Global、 JSON、 Math、 Number、 Object、 RegExpString 共12个常用对象。


JavaScript全局对象

全局属性和函数可用于所有内建的 JavaScript对象。


全局函数(常用)

escape(string):对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

eval(string):计算某个字符串,并执行其中的JavaScript代码。另:该方法只接受原始字符串作为参数,如果string参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为eval()函数传递String对象来作为参数。
如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。
如果非法调用 eval(),则抛出 EvalError 异常。
如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。
提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。

isNaN(x):用于检查其参数是否是非数字值。如果 x 是特殊的非数字值 NaN (或者能被转换为这样的值),返回的值就是true。如果 x 是其他值,则返回false。isNaN()函数可用于判断其参数是否是NaN,该值表示一个非法的数字(比如被0除后得到的结果)。
如果把NaN与任何值(包括其自身)相比得到的结果均是false,所以要判断某个值是否是NaN,不能使用 == 或 ===运算符。正因为如此,isNaN()函数是必需的。
提示:isNaN()函数通常用于检测parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用isNaN()来检测算数错误,比如用0 作除数的情况。

Number() :把对象的值转换为数字。如果参数是Date对象,Number()返回从1970年1月1日至今的毫秒数。如果对象的值无法转换为数字,那么Number()函数返回NaN。

parseFloat(string):可解析一个字符串,并返回一个浮点数。该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
提示:如果只想解析数字的整数部分,请使用 parseInt() 方法。

parseInt(string,):解析一个字符串并返回一个整数。提示:如果字符串的第一个字符不能被转换为数字,那么parseFloat() 会返回 NaN。

String():把对象的值转换为字符串。

全局属性

Infinity 代表正的无穷大的数值。
java 代表 java.* 包层级的一个 JavaPackage。
NaN 指示某个值是不是数字值。
Packages 根 JavaPackage 对象。
undefined 指示未定义的值。

全局对象描述

unescape():对由escape()编码的字符串进行解码。
全局对象是预定义的对象,作为 JavaScript 的全局函数和全局属性的占位符。通过使用全局对象,可以访问所有其他所有预定义的对象、函数和属性。全局对象不是任何对象的属性,所以它没有名称。

在顶层 JavaScript 代码中,可以用关键字 this 引用全局对象。但通常不必用这种方式引用全局对象,因为全局对象是作用域链的头,这意味着所有非限定性的变量和函数名都会作为该对象的属性来查询。例如,当JavaScript 代码引用 parseInt() 函数时,它引用的是全局对象的 parseInt 属性。全局对象是作用域链的头,还意味着在顶层 JavaScript 代码中声明的所有变量都将成为全局对象的属性。

全局对象只是一个对象,而不是类。既没有构造函数,也无法实例化一个新的全局对象。

在 JavaScript 代码嵌入一个特殊环境中时,全局对象通常具有环境特定的属性。实际上,ECMAScript 标准没有规定全局对象的类型,JavaScript 的实现或嵌入的 JavaScript 都可以把任意类型的对象作为全局对象,只要该对象定义了这里列出的基本属性和函数。例如,在允许通过 LiveConnect 或相关的技术来脚本化 Java 的 JavaScript 实现中,全局对象被赋予了这里列出的 java 和 Package 属性以及 getClass() 方法。而在客户端 JavaScript 中,全局对象就是 Window 对象,表示允许 JavaScript 代码的 Web 浏览器窗口。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值