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.mimeTypesdocument对象 -- 代表整个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 //设置和读出cookiedocument.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 // 完整URLdocument.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