JavaScript 学习笔记(Window对象)《犀牛书》

JavaScript客户端之Window对象

1. 计时器

setTimeout(fn,time);//经过 time 毫秒后调用 fn 函数
setInterval(fn,time); //经过 time 毫秒后重复调用 fn 函数
setTimeout(code,time);//经过 time 毫秒后执行 code 代码
setInterval(code,time); //经过 time 毫秒后重复执行 code 代码
  • code 是另一种语法的应用,是指你想要重复执行的一段字符串构成的代码(使用该语法是不推荐的)
  • 有返回值,传递给clearTimeout() 和 clearInterval()可以取消后续函数的调用
var timer = setInterval(fn,1000);
clearInterval(timer);
  • time 为0时,指定的函数不会立刻执行,会把它放到队列中,等到前面处于等待状态的事件处理程序全部执行完成后,再立即调用它。

2. Window对象的属性

2.1 location属性

  • Window 对象的 location 属性:引用 Location 对象,表示该窗口中当前显示的文档的 URL

Document对象的location属性:引用Location对象。
window.location === document.location //总是返回true

  • Locationhref 属性返回 URL 的完整文本。
  • “URL分解”属性:Location 对象的其他属性:protocol,host,hostname,port,pathname,search, 分别表示 URL 的各个部分
  • hash 属性返回 URL 中的片段标识符部分;
  • search 属性返回 ? 之后的 URL ,这些属性是可写的,改变属性的值会改变 URL ,重新载入文档或者在当前文档中跳转
location.search = "?page=" + (pagenum+1);//载入下一个页面
  • 使用 location 跳转页面:
  • Location 对象的 assign() 方法可以使窗口载入并显示指定的 URL 中的文档
  • replace() 方法会在载入新文档之前会从浏览历史中把当前文档删除
  • reload() 方法可以让浏览器重新载入当前文档。
  • 使浏览器跳转到新页面的直接的方法是把新的 URL 赋给 location 属性:
location = "htttp://www.oreilly.com"; //可以使用绝对URL、相对URL,例如片段标识符

2.2 history 属性

  • history 属性引用 History 对象,History 对象是用来把窗口的浏览历史用文档和文档状态列表的形式表示。
  • History 对象的 length 属性表示浏览历史列表中的元素数量,出于安全因素,脚本不能访问已保存的 URL
  • history.back() : 在浏览历史后退一格;
  • history.forward(): 在浏览历史前进一格;
  • history.go(num) // num:正值表示在浏览历史中向前跳过任意页,负值表示向后跳过任意页
  • 如果窗口包含多个子窗口,子窗口的浏览历史会按时间顺序穿插在主窗口的历史中,这意味着例如主窗口调用 history.back() 可能会导致一格子窗口往回跳转到前一个显示的文档,但主窗口保留当前状态不变。

Document对象的URL属性:文档首次载入保存该文档的URL的静态字符串。

2.3 navigator 属性

  • Window 对象的 navigator 属性引用 Navigator 对象,包含浏览器厂商和版本信息
  • navigator.appName //返回 web 浏览器的全称
  • navigator.appVersion //通常以数字开始,并跟着包含浏览器厂商和版本信息的详细字符串。
  • navigator.userAgent //包含 appVersion 中的所有信息,并且常常也可能包含其他细节。
  • navigator.platform //在其上运行的浏览器的操作系统的字符串。
console.log("appName: \n" + window.navigator.appName);        // Web浏览器的全称,IE为“Microsoft Internet Explorer”,其它为“Netscape”
console.log("appVersion: \n" + window.navigator.appVersion);    // 浏览器的版本信息
console.log("userAgent: \n" + window.navigator.userAgent);        // 浏览器的版本信息(可能比appVersion更详细)
console.log("platform: \n" + window.navigator.platform);        // 浏览器的运行操作系统

2.4 screen 属性

  • Window 对象的 screen 属性引用 Screen 对象,提供有关窗口显示的大小和可用的颜色数量的信息。
  • 属性 widthheight 指定的是以像素为单位的窗口的大小。
  • 属性 availWidthavailHeight 指定的是实际可用的显示大小,排除了想桌面任务栏这样的特性所占用的空间。
  • 属性 colorDepth 指定的是显示的BPP(bits-per-pixel)值,典型的值有16,24,32
console.log("width: " + window.screen.width);        // 屏幕宽度
console.log("height: " + window.screen.height);        // 屏幕高度
console.log("availWidth: " + window.screen.availWidth);        // 屏幕可用宽度
console.log("availHeight: " + window.screen.availHeight);    // 屏幕可用高度

3. 对话框

  • alert("msg") 显示一条消息,等待用户关闭
  • confirm("msg") 显示一条消息,等待用户按确定(返回 true)或取消(返回 false
  • prompt("msg") 显示一条消息,等待用户输入字符串,并返回字符串的值
  • 这些对话框一般会产生阻塞,代码停止运行,正在载入的文档会停止载入,直到用户按要求响应为止。会破坏用户的浏览体验,所以良好的设计要有节制地使用这些对话框。对话框常用于调试。

4. 多窗口和窗体

  • 打开窗口:
var w = window.open(url,参数2,参数3,参数4);
  • url:要在新窗口显示的文档的 URL ,如果省略,会打开一个空白的新窗口

  • 参数2:新窗口的名字

  • 参数3:一个以逗号分隔的列表,包含大小和各种属性

  • 参数4:布尔值,true:新窗口替换掉窗口浏览历史的当前条目,false:在窗口浏览历史中创建一个新的条目(默认)

  • 关闭窗口:w.close();

已关闭的窗口,代表它的 Window 对象仍然存在,w.closed 属性为 true,它的 documentnull

  • w.opener 属性引用的是打开它的脚本的 Window 对象
w.open().opener === w;
  • 窗体是通过<iframe>元素创建的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容

  • window对象是所有客户端JavaScript特性和API的主要接入点。 常用方法 alert 弹出一个对话框用...
    亮亮叔家的小笔笔阅读 859评论 0 2
  • window对象是客户端JavaScript程序的全局对象,包含多数的属性和方法。 计时器 Window对象包含2...
    kissLife阅读 1,360评论 0 0
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,752评论 0 8
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,238评论 0 5
  • 不经意间但仿佛又是过了好久好久般,自己就走到了最尴尬的年龄了,被岁月毫不留情地贴上“剩女”的标签。也许是共鸣腔的需...
    依亟阅读 660评论 8 5