首页 > 语言 > JavaScript > 正文

JavaScript高级程序设计 读书笔记之十一 内置对象Global

2024-05-06 14:22:22
字体:
来源:转载
供稿:网友
内置对象
  定义:由ECMAScript实现提供的、独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现。

  由定义可知开发者不必明确实例化内置对象,它已被实例化了。在ECMAScript-262只定义了两个内置对象,即Global和Math

Global
  Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在。

  由于在ECMAScript中不存在独立的对象,所有函数都必须是某个对象的方法,如前面提到的isNaN()、isFinite()、parseInt()和parseFloat()等,都是Global对象的方法。

  escape()、encodeURI()、encodeURIComponent()、unescape()、decodeURI()、decodeURIComponent()、eval()等都是Global的方法。

escape() && encodeURI() && encodeURIComponent()
  这几个方法用于对字符串进行编码。

  escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

  encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

  encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

  escape():不建议用,已淘汰

  encodeURI():对URL进行编码,示例:
代码如下:
encodeURI("//www.Vevb.com/a file with spaces.html")
// outputs //www.Vevb.com/a%20file%20with%20spaces.html

encodeURIComponent():对参数进行编码,示例:
代码如下:
param1 = encodeURIComponent("http://xyz.com/?a=12&b=55")
url ="http://domain.com/?param1="+ param1 +"¶m2=99";
// outputs http://www.domain.com/?param1=http%3A%2F%2Fxyz.com%2F%Ffa%3D12%26b%3D55¶m2=99

unescape() && decodeURI() && decodeURIComponent()
  这几个方法用于对字符串进行解码。

eval()
  eval()可能是ECMAScript语言中最强大的方法,该方法就像整个JavaScript的解释程序,接受一个参数,即要执行的ECMAScript(或JavaScript)字符串。

  示例:

代码如下:
var msg="Hello world";
eval("alert(msg)");//alert "Hello world"

注意,eval()功能很强大,但也很危险,特别在用eval执行用户输入的内容时,可能会被代码注入。

Global对象的所有属性
  Global不只有方法,它还有属性,Global对象的所有属性:

属性

说明

undefined

Undifined类型的字面量

NaN

非数的专用数值

Infinity

无穷大值的专用数值

Object

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表