博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《JavaScript高级程序设计》读书笔记(十一):内置对象Global
阅读量:6243 次
发布时间:2019-06-22

本文共 1829 字,大约阅读时间需要 6 分钟。

内置对象

  定义:由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("http://www.google.com/a file with spaces.html") // outputs http://www.google.com/a%20file%20with%20spaces.html

  encodeURIComponent():对参数进行编码,示例:

param1 = encodeURIComponent("http://xyz.com/?a=12&b=55") url ="http://domain.com/?param1="+ param1 +"&param2=99"; // outputs http://www.domain.com/?param1=http%3A%2F%2Fxyz.com%2F%Ffa%3D12%26b%3D55&param2=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

Object的构造函数

Array

Array 的构造函数

Function

Function 的构造函数

Boolean

Boolean 的构造函数

String

String 的构造函数

Number

Number 的构造函数

Date

Date 的构造函数

RegExp

RegExp 的构造函数

Error

Error 的构造函数

EvalError

EvalError 的构造函数

RangeError

RangeError 的构造函数

ReferenceError

ReferenceError 的构造函数

SyntaxError

SyntaxError 的构造函数

TypeError

TypeError 的构造函数

URIError

URIError 的构造函数

本文转自博客园博客,原文链接:,如需转载请自行联系原作者

你可能感兴趣的文章
美国诚实签经验(最全集合)
查看>>
HttpContext.Current:异步模式下的疑似陷阱之源
查看>>
《Java与模式》- 创建型模式
查看>>
[Android]使用Kotlin开发Android(二)
查看>>
php将对象数组转成普通数组
查看>>
org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_7
查看>>
Python 中的 if __name__ == '__main__' 该如何理解(1)
查看>>
Qt之对话框设计——利用QPalette改变控件颜色
查看>>
#lspci | grep Eth
查看>>
Linux下svn常用指令【转】
查看>>
C#下2\10\16进制互转代码总汇
查看>>
人工智能和机器学习领域的一些有趣的开源项目
查看>>
Objective-C:继承的体现
查看>>
三星发布Exynos 7872移动处理器 定位中端市场
查看>>
面试题大全
查看>>
设计模式系列-命令模式
查看>>
Java中的流
查看>>
如何启动或关闭oracle的归档(ARCHIVELOG)模式
查看>>
[LintCode] Paint Fence 粉刷篱笆
查看>>
mysql中实现类似oracle中的nextval函数
查看>>