在浏览器中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对象的更多相关文章

  1. 《JAVASCRIPT高级程序设计》window/location/navigator/screen/history对象

    如果要在web中使用JAVASCRIPT,那么BOM(浏览器对象模型)毫无疑问是最重要的部分.BOM提供了很多对象,例如,window.location.navigator.screen.histor ...

  2. 读javascript高级程序设计05-面向对象之创建对象

    1.工厂模式 工厂模式是一种常用的创建对象的模式,可以使用以下函数封装创建对象的细节: function CreatePerson(name,age){ var p=new Object(); p.n ...

  3. JavaScript高级程序设计之location对象

    location对象用来处理URL的相关信息 1.获取查询字符串 // 获取查询字符串对象 var getQueryStringArgs = function () { ? location.sear ...

  4. 读javascript高级程序设计06-面向对象之继承

    原型链是实现继承的主要方法,通过原型能让一个引用类型继承另一个引用类型. 1.原型链实现继承 function SuperType(){ this.superprop=1; } SuperType.p ...

  5. JavaScript高级程序设计之原型对象

    构造函数.原型对象.构造器是一体的关系,同时产生: 实例中的隐藏属性__proto__指向原型对象: 原型对象是这四种关系的纽带. 原型对象是动态的,不论在何处变化,实例中可以立即体现出来. var ...

  6. 读javascript高级程序设计00-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  7. 读javascript高级程序设计-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  8. 《Javascript高级程序设计》读书笔记之对象创建

    <javascript高级程序设计>读过有两遍了,有些重要内容总是会忘记,写一下读书笔记备忘 创建对象 工厂模式 工厂模式优点:有了封装的概念,解决了创建多个相似对象的问题 缺点:没有解决 ...

  9. 阅读摘录《javascript 高级程序设计》01

    前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...

随机推荐

  1. 彼得原理(The Peter Principle)

    一. 关于彼得原理(The Peter Principle) 彼得原理(The Peter Principle)是由美国管理学家劳伦斯·彼得(Laurence.J.Peter)根据千百个有关组织中不能 ...

  2. break 和 continue

    break 和 continue 相同点: 都 用在循环体内,如 switch.for.while.do while的程序块中,用于控制程序循环语句的执行 不同点: break可以离开当前switch ...

  3. android 上传文件"Content-Type",为"application/octet-stream" 用php程序在服务端用$GLOBALS['HTTP_RAW_POST_DATA']接受(二)

    服务端php程序file_up.php function uploadFileBinary() { $this->initData(); $absoluteName = "" ...

  4. [SSH 3]以网上商城项目浅谈spring配置

    导读:在做ITOO项目的时候,就用到了容器+反射,从而运用了依赖注入和依赖查找.如果看过WCF端的配置文件,那么对于这个spring的配置就很容易理解.本篇博客,是对于自己做的一个小项目中所运用到的s ...

  5. SQL数据库基本语句

    SQL特点--> 1)综合统一.SQL是集数据定义.数据操作和数据控制于一体,语言峰峰统一,可独立完成数据库生命周期的所有活动. 2)高度非过程化.SQL语言是高度非过程化语言,当进行数据操作时 ...

  6. 入门学习PHP之变量_1

    1.函数里只能访问局部变量,不能访问全局变量,如果函数里需要访问全局变量则需要在变量前加global作用域,如下实例: <?php $x=5; $y=10; function myTest() ...

  7. C# winform编程中多线程操作控件方法

    private void Form1_Load(object sender, EventArgs e) { Thread newthread = new Thread(new ThreadStart( ...

  8. CuteFTP 9.0 上传文件时,中文文件名乱码

    解决办法如图: 1.右键--->属性 2.选项---->档案名称编  选择ascⅡ

  9. jquery中选择ID以什么字符开头的匹配主要用于多个上传控件的时候,id无法使用,而且class不起作用的时候

    $("[id^=remark]")选择ID以remark开头的所有数据进行匹配

  10. 第一章:1-06、 试将TCP/IP和OSI的体系结构进行比较。讨论其异同之处?

    <计算机网络>谢希仁著第四版课后习题答案答:(1)OSI和TCP/IP的相同点是二者均采用层次结构,而且都是按功能分层.(2)OSI和TCP/IP的不同点:①OSI分七层,自下而上分为物理 ...