JavaScript_BOM_window
ECMAScript是JavaScript的核心,但如果要在Web中使用JavasCript,那么BOM(浏览器对象模型)则无疑才是真正的核心。
1. 下面我们来了解一下BOM的核心对象——window:
window表示浏览器的一个实例,它既是JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。这就意味着在网页中定义的任何对象、变量和函数,都已window作为其Global对象,因此有权访问parseInt()等方法;同时,所有在全局作用域总声明的变量和函数都会变成window对象的属性和方法。例:
var sName = "erhuo"; function sayName(){console.log("my name is "+this.sName}; }console.log("This text from window : "+window.sName);//"erhuo" sayName();//"erhuo" window.sayName();//"erhuo"
上面代码中声明的变量sName和函数sayName被自动归在了window名下,于是我们就可以通过window.sName和window.sayName()来调用了。
2.窗口关系及框架window、top、parent
如果页面中包含有框架,则每个框架都有一个属于自己的window对象,并且保存在frames集合中。
在frames集合中,可以通过数值索引(从0开始,从左至右,从上到下)或者框架名称里放我那相应的window对象。每个window对象都一个name属性,即框架名称。例:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title> </head><frameset rows="160,*"><frame src="" name="firstFrame" style="background:green;"></frame><frameset cols="50%,*"><frame style="background:blue;"></frame><frame style="background:gray;"></frame></frameset></frameset> </html>
以上代码床架了一个框架集,其中一个框架居上,两个居下。对于这个例子老说,我们可以使用window.frames[0]或者window.frames["firstFrame"]来引用上方的框架,不过我们还是最好使用top而非window来引用这些框架,例如用top.frames[0]。
我们知道,top对象始终只想页面最高(最外)层的框架,也就是我们的浏览器窗口,使用top可以使我们能更准确第引用到框架。
与top对象相对应的另一个window对象是parent。顾名思义,parent对象始终指向当前框架的上一级框架。在某些情况下,parent等于top;但是在没有框架的情况下,parent一定等价于top对象(此时它们都同时等于window对象)。
转载于:https://www.cnblogs.com/HDman2012/archive/2013/03/06/2946351.html
JavaScript_BOM_window相关推荐
最新文章
- 18、计算机图形学——BRDF与渲染方程
- 分享Kali Linux 2017年第二周镜像文件
- [攻防世界 pwn]——level2
- ASP.NET获取任意网页HTML代码
- onSaveInstanceState与onRestoreInstanceState何时调用、如何使用
- 讲讲我对比特币和区块链的认知,挖矿不难,挖到难
- Python URL编码
- 家用冰箱里面用的抽屉模具图档分析
- 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(七)(数字图像基础))
- 高龄脑卒中患者的运动处方
- php如何将excel数据导入到数据库,【PHP】将Excel数据导入到MySQL数据库中
- 二十一世纪大学英语读写教程学习笔记(原文)——2 - Conversational Ballgames(对话风格与球类运动)
- mysql myisam 主键关联_MySQL中myisam和innodb的主键索引有什么区别?
- 特征重要性计算方法及神经网络的特征重要性
- uiautomator2+python实现企业微信自动打卡
- linux全局搜索文件
- selenium webdriver操作chrome options、 启用无痕模式、缓存烦恼
- 指向性麦克风--心形麦克风设计(五)
- 基于多普勒效应的动作检测
- -bash: java: command not found (Linux)
热门文章
- window/linux composer安装/卸载
- [转] Nodejs 进阶:Express 常用中间件 body-parser 实现解析
- web服务器原理(二)
- Git 服务器镜像迁移 - 携带提交日志,tag,branch。。
- Myeclipse学习总结(5)——Myeclipse常用快捷键再学习
- MySQL数据备份语句
- EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证...
- Android 百度地图 SDK v3.0.0 (二) 定位与结合方向传感器
- Serendipity解决IE缓存为0
- SQL Server 2005 Analysis Services