JavaScript中的全局对象介绍

 更新时间:2015年01月01日 09:22:46   投稿:junjie  
这篇文章主要介绍了JavaScript中的全局对象介绍,对于任何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

相关文章

  • js输出阴历、阳历、年份、月份、周示例代码

    js输出阴历、阳历、年份、月份、周示例代码

    本篇文章主要是对js输出阴历、阳历、年份、月份、周示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • javascript 数组精简技巧小结

    javascript 数组精简技巧小结

    本文给大家分享了13个非常常用的JavaScript数组操作的小技巧,有需要的小伙伴可以来看看,个人十分推荐.
    2020-02-02
  • js操作CheckBoxList实现全选/反选(在客服端完成)

    js操作CheckBoxList实现全选/反选(在客服端完成)

    对于CheckBoxList控件来说,一方面要实现大量数据在服务器端的绑定工作,另一方面往往要求实现全选、反选等功能,接下来将介绍js操作CheckBoxList实现全选/反选,感兴趣的朋友可以了解下,或许对你有所帮助
    2013-02-02
  • JS面向对象实现飞机大战

    JS面向对象实现飞机大战

    这篇文章主要为大家详细介绍了JS面向对象实现飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • JavaScript头像上传插件源码分享

    JavaScript头像上传插件源码分享

    这篇文章主要为大家分享介绍了JavaScript头像上传插件源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • JavaScript实现随机点名小程序

    JavaScript实现随机点名小程序

    这篇文章主要介绍了JavaScript实现随机点名小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • 基于ES6作用域和解构赋值详解

    基于ES6作用域和解构赋值详解

    下面小编就为大家带来一篇基于ES6作用域和解构赋值详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • javascript 动态加载 css 方法总结

    javascript 动态加载 css 方法总结

    有时候我们在设计网页的时候想动态的加载css文件,并不是将css文件写死在页面中,这时就可以使用下面方法.
    2009-07-07
  • JS及JQuery对Html内容编码,Html转义

    JS及JQuery对Html内容编码,Html转义

    本文主要介绍了JS及JQuery对Html内容编码,Html转义的方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JavaScript判断变量是否为数组的方法(Array)

    JavaScript判断变量是否为数组的方法(Array)

    这篇文章主要介绍了JavaScript判断变量是否为数组的方法(Array),涉及到javascript 数组 变量相关知识,感兴趣的朋友一起学习吧
    2016-02-02

最新评论