JavaScript中的global对象,window对象以及document对象的区别和联系

目录

一、概念区分:JavaScript中的global对象,window对象以及document对象

1、global对象(全局对象)

《JS高级程序设计》中谈到,global对象可以说是ECMAScript中对特别的一个对象了,因为不管你从什么角度上看,这个对象都是不存在的。从某种意义上讲,它是一个终极的“兜底儿对象”,换句话说呢,就是不属于任何其他对象的属性和方法,最终都是它的属性和方法。我理解为,这个global对象呢,就是整个JS的“老祖宗”,找不到归属的那些“子子孙孙”都可以到它这里来认祖归宗。所有在全局作用域中定义的属性和函数,都是global对象的属性和方法,比如isNaN()、parseInt()以及parseFloat()等,实际都是它的方法;还有就是常见的一些特殊值,如:NaN、undefined等都是它的属性以及一些构造函数Object、Array等也都是它的方法。总之,记住一点:global对象就是“老祖宗”,所有找不到归属的就都是它的。

2、window对象

前面说了global对象是“老祖宗”,那有人该问了,你把window对象置于何地呢?对,javascript这门语言现在这么红火很大部分原因是因为W3C将它作为写页面的官方脚本语言,但别忘了js它不仅仅可以用来写页面,也就是不仅仅可以用在浏览器中。window对象是相对于web浏览器而言的,它并不是ECMAScripta规定的内置对象,内置对象的定义是:“由ECMAScript实现提供的、不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。”window对象是宿主对象也就是在一定的环境中才会生成的对象(这里也就是指浏览器),而global对象是在任何环境中都存在的。window对象具体也就是指浏览器打开的那个窗口。

3、document对象

简单来说,document对象是window对象的一个属性,是显示于窗口内的一个文档。而window对象则是一个顶层对象,它不是另一个对象的属性。document可以理解为文档,就是你的网页,而window是你的窗口,就是你的浏览器包含的。它们俩在没有框架的情况下可以说是等同的,在有框架的情况下就要区别对待了。

二、详解HTML中的window对象和document对象

Window -- 代表浏览器中一个打开的窗口:

对象属性
  window //窗口自身
  window.self //引用本窗户window=window.self
  window.name //为窗口命名
  window.defaultStatus //设定窗户状态栏信息
  window.location //URL地址,配备布置这个属性可以打开新的页面

对象方法
  window.alert("text") //提示信息会话框
  window.confirm("text") //确认会话框
  window.prompt("text") //要求键盘输入会话框
  window.setIntervel("action",time) //每一隔指定的时间(毫秒)就执行一次操作
  window.clearInterval() //清除时间配备布置作用就是终止轮回
  window.setTimeout(action,time) //隔了指定的时间(毫秒)执行一次操作
  window.open() //打开新的窗口
  window.close() //关闭窗口

成员对象
  window.event
  window.document //见document对象详解
  window.history
  window.screen
  window.navigator
  window.external
  -------------------------------------------------- -------------------
  window.history对象
  window.history.length //浏览过的页面数
  history.back() //后退
  history.forward() //前进
  history.go(i) //前进或后退到历史记录的第i个页面
  //i>0进步,i<0 后退
    ------------------------------------------------- -------------------
  window.screen对象
     window.screen.width //屏幕宽度
  window.screen.height //屏幕高度
  window.screen.colorDepth //屏幕色深
  window.screen.availWidth //可用宽度
  window.screen.availHeight //可用高度(除去任务栏的高度)
  -------------------------------------------------- -------------------
  window.external对象
  window.external.AddFavorite("地址","标题" ) //把网站新增到保藏夹
  -------------------------------------------------- -------------------
  window.navigator对象
  window.navigator.appCodeName //浏览器代码名
  window.navigator.appName //浏览器应用程序名
  window.navigator.appMinorVersion //浏览器补丁版本
  window.navigator.cpuClass //cpu类型 x86
  window.navigator.platform //操作体系类型 win32
  window.navigator.plugins
  window.navigator.opsProfile
  window.navigator.userProfile
  window.navigator.systemLanguage //客户体系语言 zh-cn简体中文
  window.navigator.userLanguage //用户语言,同上
  window.navigator.appVersion //浏览器版本
  window.navigator.userAgent
  window.navigator.onLine //用户否在线
  window.navigator.cookieEnabled //浏览器是否撑持cookie
  window.navigator.mimeTypes

document对象 -- 代表整个HTML 文档,可用来访问页面中的所有元素:

对象属性

document.title                 //设置文档标题等价于HTML的<title>标签
document.bgColor               //设置页面背景色
document.fgColor               //设置前景色(文本颜色)
document.linkColor             //未点击过的链接颜色
document.alinkColor            //激活链接(焦点在此链接上)的颜色
document.vlinkColor            //已点击过的链接颜色
document.URL                   //设置URL属性从而在同一窗口打开另一网页
document.fileCreatedDate       //文件建立日期,只读属性
document.fileModifiedDate      //文件修改日期,只读属性
document.fileSize              //文件大小,只读属性
document.cookie                //设置和读出cookie
document.charset               //设置字符集 简体中文:gb2312

回到顶部

常用对象方法

document.write()                      //动态向页面写入内容
document.createElement(Tag)           //创建一个html标签对象
document.getElementById(ID)           //获得指定ID值的对象
document.getElementsByName(Name)      //获得指定Name值的对象
document.body.appendChild(oTag)

回到顶部

body-主体子对象

document.body                   //指定文档主体的开始和结束等价于<body></body>
document.body.bgColor           //设置或获取对象后面的背景颜色
document.body.link              //未点击过的链接颜色
document.body.alink             //激活链接(焦点在此链接上)的颜色
document.body.vlink             //已点击过的链接颜色
document.body.text              //文本色
document.body.innerText         //设置<body>...</body>之间的文本
document.body.innerHTML         //设置<body>...</body>之间的HTML代码
document.body.topMargin         //页面上边距
document.body.leftMargin        //页面左边距
document.body.rightMargin       //页面右边距
document.body.bottomMargin      //页面下边距
document.body.background        //背景图片
document.body.appendChild(oTag) //动态生成一个HTML对象

回到顶部

常用对象事件

document.body.οnclick="func()"              //鼠标指针单击对象是触发
document.body.οnmοuseοver="func()"          //鼠标指针移到对象时触发
document.body.οnmοuseοut="func()"           //鼠标指针移出对象时触发

回到顶部

location-位置子对象

document.location.hash          // #号后的部分
document.location.host          // 域名+端口号
document.location.hostname      // 域名
document.location.href          // 完整URL
document.location.pathname      // 目录部分
document.location.port          // 端口号
document.location.protocol      // 网络协议(http:)
document.location.search        // ?号后的部分

回到顶部

常用对象事件

documeny.location.reload()          //刷新网页
document.location.reload(URL)       //打开新的网页
document.location.assign(URL)       //打开新的网页
document.location.replace(URL)      //打开新的网页
========================================================================
selection-选区子对象
document.selection
========================================================================
images集合(页面中的图象):
----------------------------
a)通过集合引用
document.images                 //对应页面上的<img>标签
document.images.length          //对应页面上<img>标签的个数
document.images[0]              //第1个<img>标签           
document.images[i]              //第i-1个<img>标签
----------------------------
b)通过nane属性直接引用
<img name="oImage">
document.images.oImage          //document.images.name属性
----------------------------
c)引用图片的src属性
document.images.oImage.src      //document.images.name属性.src

发布了224 篇原创文章 · 获赞 74 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/qq_34629352/article/details/104183558