您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

什么是JavaScript全局对象?全局对象有哪些属性?

2024/4/4 16:01:59发布12次查看
对于任何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
以上就是什么是javascript全局对象?全局对象有哪些属性?的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product