javaScript 对于全局对象对象的理解
2021-05-22 07:30
标签:html sans 而不是 隐藏 htm 编程 ie6 标签 object 全局对象(global object)在javascript中有着重要的用途:全局对象的属性是全局定义的符号。什么意思呢?意思就是全局对象预定义了全局的属性、函数、对象、构造函数以便你开发使用。 比如说: 1.全局属性:比如undefined、Infinity以及NaN。 js运行时内置了一个Global对象 window对象虽然是浏览器环境下的js Gloabl对象。但并不意味着window对象下的所有方法和属性都是js原生提供的。原生对象只有很少一部分,浏览器环境中,大量的功能都是由宿主对象完成的。 转载自:http://zhidao.baidu.com/link?url=qTTR8X9iTqMskdBZkJafkaN0WeBhouqIe6QePPz2w3dRescyeZNibREeGXGz4Qe_NJeLdl2LEOWuw9ixW-0-NH0WbaytQy73D5oTygWdVzS 对于任何JavaScript程序,当程序开始运行时,JavaScript解释器都会初始化一个全局对象以供程序使用。这个JavaScript自身提供的全局对象的功能包括: 1.全局对象拥有一些常用的属性值。比如undefined、Infinity以及NaN。 对于JavaScript程序中的this,如果this不属于任何function,那么这个this就指代JS全局对象;如果是浏览器端运行的JS程序,那么这个this就指代window全局对象。 如果这个this属于某个function,那么this指代的就是调用该function的对象。若这种情况下function只是一个普通的函数,而不是某个类的方法,那么this的指代存在两种可能: 1.在ECMAScript 3标准,以及ECMAScript 5标准的非严格模式下,this指代全局对象。
---------------------
本文来自 weixin_40133326 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/weixin_40133326/article/details/79605945?utm_source=copy javascript中如果宿主环境是web浏览器的话,一般全局对象是Window对象,它的引用是window。javascript中的内置全局对象(独立于宿主环境,ECMAScript中的API中声明的对象)例如Math对象,JSON对象等等。 在web中Window是全局对象,全局对象的属性就是全局变量。 声明全局变量的4种方法。 1.直接在全局作用域中用var 声明的变量就是全局变量,此种方式声明的变量具有不可配置的属性,不能使用delete操作符把变量删除。 2.window.变量,这种声明的变量也是全局变量,但这种变量跟上面用var 声明的变量有点不一样,这种方式声明的全局变量是可配置的,因此能用delete操作符把变量删除。 3.隐式声明全局变量,就是不使用var声明,直接进行赋值的变量,在不严格模式中,相当于window.变量这种方式,但在严格模式下,会报错。 4.在html中给标签指定一个id属性,也相当于给Window对象添加了一个id的属性,在javascript中可直接通过标签的id访问该标签(或者window[‘id‘])。 本文转自https://www.cnblogs.com/smallLong/p/6535287.html javaScript 对于全局对象对象的理解 标签:html sans 而不是 隐藏 htm 编程 ie6 标签 object 原文地址:https://www.cnblogs.com/echo-dauntless/p/9737451.html
2.全局对象:比如Math、JSON和Number
3.全局函数:比如isNaN()、isFinite()、parseInt()和eval()等。
4.全局构造器(constructor),也即全局类。比如Date()、RegExp()、String()、Object()和Array()等。
这个Global对象跟运行环境有关。在浏览器运行环境中。Global就是window对象。
在nodejs中。Global对象是global对象。
当你在浏览器环境中,直接使用一个未经定义的变量,
例如foo=123;那么foo这个变量自动声明为全局变量。变量引用自动挂载到了Global对象,即window对象上。
Global对象上的属性和函数都是js运行时提供的。例如escape\encodeURIComponent\decodeURIComponent\Regex\Infinite等等。。。
跟继承没有关系,你可以认为浏览器默认提供给你使用的对象,都放到了Global对象中,而window对象又恰好就是这个Global对象。实际上,在浏览器的内部实现中,隐藏了真正的Global对象,而把window对象作为了Global对象的替身。一切对Global对象的操作(间接操作),都会映射到window对象上,反之亦然。这样window对象就成了Global对象的替身。而window对象同时又作为Global对象的一个属性。这样,真正的Global对象就被隐藏了。
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全局对象即可。
2.在ECMAScript 5标准的严格模式下,this指代undefined。
上一篇:树状数组模板
文章标题:javaScript 对于全局对象对象的理解
文章链接:http://soscw.com/index.php/essay/87969.html