JavaScript高级程序设计之window对象
在浏览器中window对象实现了JavaScript中的Global对象;
window对象是最顶层的对象;
所有其他全局的东西都可以通过它的属性检索到。
var a = ; window.aa = ; // 所有全局变量都可以通过window的属性找到,但不是真正的属性
console.log(window.a); // 5 // delete操作符只能删除对象的属性,不能删除游离的变量
delete a;
delete aa; console.log(a); // console.log(aa); // error: aa is not defined
window(窗口)的位置
// 获取窗口距离屏幕左上角的位置
var getWinPos = function () { return {
leftPos: (typeof window.screenLeft === "number") ? window.screenLeft : window.screenX,
topPos: (typeof window.screenTop === "number") ? window.screenTop : window.screenY
};
};
窗口的大小
// 获取窗口的大小
var getWinSize = function () { var width = window.innerWidth,
height = window.innerHeight; if (typeof width !== "number") { // 标准模式
if (document.compatMode === "CSS1Compat") {
width = document.documentElement.clientWidth;
height = document.documentElement.clientHeight;
} else {
width = document.body.clientWidth;
width = document.body.clientHeight;
}
} return {
width: width,
height: height
};
}; /*
* doucment.compatMode 只可能返回两个状态:CSS1Compat, BackCompat;分别表示标准模式和怪异模式
* 属性早期浏览器大战是留下的hack
*/
弹出窗口window.open
// window.open("http://www.google.com/"); 默认新窗口打开 // 打开一个定制的新窗口到目前窗口
var popWin = window.open("http://www.so.com/", "_blank", "width=400,height=400,top=100,left=100,resizable=yes"); // 在原来位置的基础上作矢量位移
popWin.moveBy(, ); // 检测弹出窗口是否被屏蔽
var isPopWinBlocked = function (url) { var blocked = false; try {
var popWin = window.open(url); if (popWin === null) {
blocked = true;
}
} catch (ex) {
blocked = true;
} return blocked;
}; if (isPopWinBlocked("http://www.so.com/")) {
alert("popWin is blocked");
} else {
alert("ok");
}
JavaScript高级程序设计之window对象的更多相关文章
- 《JAVASCRIPT高级程序设计》window/location/navigator/screen/history对象
如果要在web中使用JAVASCRIPT,那么BOM(浏览器对象模型)毫无疑问是最重要的部分.BOM提供了很多对象,例如,window.location.navigator.screen.histor ...
- 读javascript高级程序设计05-面向对象之创建对象
1.工厂模式 工厂模式是一种常用的创建对象的模式,可以使用以下函数封装创建对象的细节: function CreatePerson(name,age){ var p=new Object(); p.n ...
- JavaScript高级程序设计之location对象
location对象用来处理URL的相关信息 1.获取查询字符串 // 获取查询字符串对象 var getQueryStringArgs = function () { ? location.sear ...
- 读javascript高级程序设计06-面向对象之继承
原型链是实现继承的主要方法,通过原型能让一个引用类型继承另一个引用类型. 1.原型链实现继承 function SuperType(){ this.superprop=1; } SuperType.p ...
- JavaScript高级程序设计之原型对象
构造函数.原型对象.构造器是一体的关系,同时产生: 实例中的隐藏属性__proto__指向原型对象: 原型对象是这四种关系的纽带. 原型对象是动态的,不论在何处变化,实例中可以立即体现出来. var ...
- 读javascript高级程序设计00-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 读javascript高级程序设计-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 《Javascript高级程序设计》读书笔记之对象创建
<javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...
- 阅读摘录《javascript 高级程序设计》01
前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...
随机推荐
- xml中俩种解析方式
两种解析方式 1.from xml.etree import ElementTree as ET 利用ElementTree模块下的xml方法可以把一个字符串类型的东西转换成Element类,从而利用 ...
- 统计Crash工具—Crashlytics
官网:https://www.crashlytics.com/login 步骤: 注意:有时候再次运行,或者换了Crashlytics账号之后,获取不到Crash信息,其实你需要把plist文件里的K ...
- django apache error.log过大
利用apache运行django框架,发现apache中error.log增长迅猛,寻找原因不得,于是手动清空... 但是当server遇到问题时,文件过大,导致定位问题十分不便 于是决定探个究竟 首 ...
- LA3027 合作网络-并查集压缩路径
有N个结点 一次 I u v 操作表示把结点u的父结点设为v,距离为|u-v|%1000.输入保证执行指令前u没有父结点 一次E u 操作表示询问u到根结点的距离 O操作表示结束 #include&l ...
- Android 之 下拉框(Spinner)的使用
下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...
- 操作笔记:linux下查看端口被占用
[root@iZ945sgm0ugZ /]# lsof -i:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 1192 jet ...
- python的文件操作方法
python中的文件对象:文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文件". 一旦设置了合适的"钩子", 你就可以访问具 ...
- SVN与TortoiseSVN实战:文件加锁详解
硬广:<SVN与TortoiseSVN实战>系列已经写了八篇,本篇是完结篇,整个系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,以技巧性为主. 本篇详解使用Tortoi ...
- SDL2 Tutorial
Hello World for SDL2 SDL2 setting for visual studio. http://lazyfoo.net/tutorials/SDL/01_hello_SDL/w ...
- ASP.NET的SEO: 服务器控件背后——SEO友好的Html和JavaScript
本系列目录 假设你需要从一个页面转向其他页面,下面有很多种方式,你是如何选择的呢?你能清晰的说明理由么? <%--链接的表现形式--%> <asp:Hy ...