javascript Global对象

Global对象

Global全局对象 ECMAScript中最特别的对象,因为从那个角度上看,这个对象都是不存在的。

isNaN()、isFinite()、parseInt()以及parseFloat(),实际上全部都是Global对象的方法。除此之外Global还包含其他一些方法。

1.URI编码方法

encodeURI()和encodeURIComponent()方法可以对URL进行编码,以便发送给浏览器。

encodeURI()方法 能够将URL中空格字符编码化

encodeURIComponent()方法能够将URL中的非数字字母的字符替换成字符编码

decodeURI()方法能够将URL中的空格字符编码转换为字符与enCodeURI()相对应

decodeURIComponent()方法能够将URL中所有的非数字字母的字符编码转换成字符与encodeURIComponent()相对应

2.eval()方法被誉为最强大的方法

eval()方法能够将传入的字符串代码用ECMAScript解析器解析并且执行。只接受一个参数

eval()执行方法运行时间过长

当解析器发现代码中调用eval()方法时,它会将传入的参数当作实际的ECMAScript语句来解析,然后把执行的结果插入到原位置。通过eval()方法执行的代码被认为是包含该次调用的执行环境的一部分,因此被执行的代码具有与该执行环境相同的作用域链。

3.Global对象的属性

属性 说明
undefined 特殊值undefined
NaN 特殊值NaN
Infinity 特殊值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

// 1.URI编码方法
var uri = "http://www.wrox.com/illegal value.htm#start";
console.log(encodeURI(uri)); // http://www.wrox.com/illegal%20value.htm#start
console.log(encodeURIComponent(uri)); // http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start

uri = "http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start";
console.log(decodeURI(uri));
console.log(decodeURIComponent(uri));

// 2.eval()方法
console.time("eval1");
eval("console.log(‘hi‘)");
console.timeEnd(‘eval1‘);

eval("console.log(decodeURI(uri))");
// eval()能够解析字符串的能力十分强大,但也十分危险。因此在使用eval()时必须极为谨慎,特别是在用它执行用户输入数据的情况下。

// 4. window对象
var color = "red";
function sayColor(){
console.log(window.color);
}
window.sayColor();

// 另一种获取Global对象的方法
var global = function (){
return this;
}();
console.log(global)

时间: 2024-07-30 23:59:08

javascript Global对象的相关文章

JavaScript的内置对象之Global对象

内置对象的定义是: 由 javaScript 实现提供的.不用自己创建,这些对象在 ECMAScript 程序执行之前就已经存在了. 意思就是说,开发人员不必显示地实例化内置对象:因为它们已经实例化了. JavaScript只定义了两个内置对象:Global和 Math. 一.Global(全局)对象: javacript 中一个特别的对象,因为这个对象是不存在的.在JavaScript中不属于任何其他对象的属性和方法,都属于它的属性和方法. 所以,事实上,并不存在全局变量和全局函数:所有在全局

javascript那些事儿(二)Global对象用法

1.Global对象: 所有在全局作用域内定义的属性和方法,都是Global对象的属性 2.Global对象不直接使用,并且不能用new 运算符创建,它在 Scripting 引擎被初始化时创建,并立即使其方法和属性可用. 例如:isNaN,isFinite(),parseInt(),parseFloat()都是Global对象的方法 下面介绍一下比较重要的几个方法 (1)URI编码解码:encodeURI()\encodeURIComponent(), decodeURI\decodeURIC

javascript原生对象之单体内置对象(Global、Math)

[1]Global [1.1]定义:Global对象是一个终极的“兜底儿对象”,不属性于任何其他对象的属性和方法,最终都是它的属性和方法 [注意]所有在全局作用域中定义的属性和函数都是Global对象的属性.诸如isNaN().isFinite().parseInt().parseFloat()等实际上都是Global对象的方法 [1.2]编码方法 [1.2.1]encodeURI():对整个URI进行编码,用特殊的UTF-8替换所有无效的字符 [注意1]encodeURI()的不编码字符有82

JavaScript的内置对象(Global对象,Math对象)

内置对象的定义 由 javaScript 实现提供的.不用自己创建,这些对象在 ECMAScript 程序执行之前就已经存在了. 意思就是说,开发人员不必显示地实例化内置对象:因为它们已经实例化了. JavaScript只定义了两个内置对象:Global和 Math. Global(全局)对象 Global(全局)对象概述 javacript 中一个特别的对象,因为这个对象是不存在的.在JavaScript中不属于任何其他对象的属性和方法,都属于它的属性和方法. 所以,事实上,并不存在全局变量和

JavaScript基础对象创建模式之模块模式(Module Pattern)(025)

模块模式可以提供软件架构,为不断增长的代码提供组织形式.JavaScript没有提供package的语言表示,但我们可以通过模块模式来分解并组织 代码块,这些黑盒的代码块内的功能可以根据不断变化的软件需求而不断的被添加,替代和删除.模块模式由几种我们已经介绍过的模式共同组成: 命名空间模式 即时函数模式 私有成员与访问控制方法模式 依赖声明模式 模块模式的第一步是建立一个命名空间.首先我们用先前介绍的namespace()方法创建一个工具模块例子,这个例子模块提供一些数组功能: MYAPP.na

Javascript BOM对象

BOM是browser object model的缩写,简称浏览器对象模型. window对象(BOM的核心对象) 表示浏览器的一个实例,在浏览器中,window对象有着双重角色,它既是通过Javascript访问浏览器窗口的一个借口,优势ECMAScript规定的Global对象.这意味着在网页定义中的任何一个对象.变量.函数,都以window作为其Global对象,因此有权访问parseInt()等方法. 在全局作用域声明的变量.函数都会变成window对象的属性和方法. 差别:全部变量不能

私人定制javascript中对象小知识点(Only For Me)

废话不多讲,先上笑话,然后再,.看懂这个的说明你的节操已经不再了. 晚饭后去理发店理发...割了吧...老板问我怎么剪,我悠悠的来一句往帅了剪...高潮往往令人想不到....旁边一在焗油烫头发的大妈说到 别这样为难老板,人家赚点钱不容易...首先如果你是高手那么请出门右转,如果你是菜鸟那么恭喜你,go on吧 全局对象在javascript程序中任何位置,都可以拈来就用的这种东西,是全局对象的属性.那么属性所在的对象也就是全局对象了.当javascript解释器启动时(或者任何Web浏览器加载新

JavaScript 本地对象、内置对象、宿主对象

首先解释下宿主环境:一般宿主环境由外壳程序创建与维护,只要能提供js引擎执行的环境都可称之为外壳程序.如:web浏览器,一些桌面应用系统等.即由web浏览器或是这些桌面应用系统早就的环境即宿主环境. 1.本地对象 ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”. 再来看一下,“本地对象”包含哪些内容: Object.Function.Array.String.Boolean.Number.Date.RegExp.Erro

JavaScript原生对象及扩展

转自:http://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集:而后者包括了一些在运行过程中动态创建的对象. 原生对象(New后的对象) ECMA-262 把原生对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”.包括如下: Object.Function.Array.Stri