当前位置: 首页 > 编程笔记 >

JavaScript中的全局对象介绍

刘明朗
2023-03-14
本文向大家介绍JavaScript中的全局对象介绍,包括了JavaScript中的全局对象介绍的使用技巧和注意事项,需要的朋友参考一下

对于任何JavaScript程序,当程序开始运行时,JavaScript解释器都会初始化一个全局对象以供程序使用。这个JavaScript自身提供的全局对象的功能包括:

1.全局对象拥有一些常用的属性值。比如undefined、Infinity以及NaN。
2.全局对象拥有一些常用的属性对象。比如Math、JSON和Number对象均为该全局对象的属性。
3.全局对象提供一些全局函数供调用。比如isNaN()、isFinite()、parseInt()和eval()等。
4.全局对象提供一些全局构造器(constructor),也即全局类。比如Date()、RegExp()、String()、Object()和Array()等。


除了JS全局对象,对于运行在浏览器端的JavaScript程序,还有另一个全局对象:window。window全局对象提供了与当前窗口、页面有关的诸多属性与方法。除了这些与浏览器有关的全局属性和方法,window对象还封装了JS全局对象,并向外暴露JS全局对象的属性与接口;因此,当进行浏览器端JavaScript编程时,只需关心window全局对象即可。

对于JavaScript程序中的this,如果this不属于任何function,那么这个this就指代JS全局对象;如果是浏览器端运行的JS程序,那么这个this就指代window全局对象。

如果这个this属于某个function,那么this指代的就是调用该function的对象。若这种情况下function只是一个普通的函数,而不是某个类的方法,那么this的指代存在两种可能:

1.在ECMAScript 3标准,以及ECMAScript 5标准的非严格模式下,this指代全局对象。
2.在ECMAScript 5标准的严格模式下,this指代undefined。

根据这一特性,可以使用以下代码来判断当前是否处于严格模式:



var strict = (function(){return !this;}());


如果在JavaScript程序中创建了全局变量,那么这个全局变量会成为全局对象中的一个属性。

实验



var a = this;

console.log(a);//window object

console.log(a.outerWidth);//access window object's attribute

console.log(a.isNaN);//access JS global object's attribute

x = "test"; console.log(a.x);//access newly created global variable value

 类似资料:
  • 问题内容: 我正在使用0.3.1-pre Node.js 这样做: 结果是 但是,在键入“全局”后在控制台中按[Tab]时。给出函数列表,包括parseInt。 那么parseInt是否是 全局 名称空间的成员? 问题答案: 显然,该对象不是浏览器中的全局对象。(根据#nodejs @ freenode中的micheil)实际上仅在内部使用。关于全球关闭的信息。 并且和所有的好友都在自己的全局。不

  • 全局对象提供可在任何地方使用的变量和函数。默认情况下,这些全局变量内置于语言或环境中。 在浏览器中,它的名字是 “window”,对 Node.js 而言,它的名字是 “global”,其它环境可能用的是别的名字。 最近,globalThis 被作为全局对象的标准名称加入到了 JavaScript 中,所有环境都应该支持该名称。所有主流浏览器都支持它。 假设我们的环境是浏览器,我们将在这儿使用 “

  • 问题内容: 我想在脚本中签入某个其他模块是否已加载。 但是,如果不存在,那就是。 如果我知道那是什么,我可以使用它。 但是,因为我希望我的模块与浏览器和工作,等等,我不能假设。 据我了解,这在ES 5 with中不起作用; 这也会因抛出异常而失败 所以好像我已经离开了 这些情况都不会通过JSLint。 我有什么想念的吗? 问题答案: 好吧,您可以使用运算符,并且如果标识符在范围链的任何位置都不存在

  • 主要内容:全局对象与全局变量,__filename,__dirname,setTimeout(cb ms),clearTimeout(t),setInterval(cb ms),console,processJavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。 在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 globa

  • JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。 在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。 在 Node.js 我们可以直接访问到 global 的属性

  • 本文向大家介绍JavaScript中的包装对象介绍,包括了JavaScript中的包装对象介绍的使用技巧和注意事项,需要的朋友参考一下 javascript对象是一种复合值,它是属性或已命名的值的集合,通过符号"."来引用属性值,当属性值是一个函数的时候,我们称之为方法。我们看到字符串也具有属性和方法: 字符串既然不是对象,为什么它又有属性呢,只要引用了字符串s的属性,javascript就会将字