1 1.定时器
2 客户端js中重要的全局函数,被定义为window对象的方法
3 fun setInterval(){。。。。。return t;}//返回值传递给clearTimeout用于取消这个函数的执行
4 setTimeout()//同理,clearInterval取消这个函数的执行
5
6 2.浏览器的定位和导航
7 window对象的location属性引用的是Location对象
8 而Document对象的location属性也引用到了location对象:
9 window.location===document.location
10
11 document内有一个URL属性,是文档载入后保存高文档的URL静态字符串
12 与Location内的URL区别在于:
13 Location的URL是动态的。
14
15 访问url:location.href;或者location。因为location.toString()也会返回href值
16
17 console.log(location.protocol); http:
18 console.log(location.host); localhost:63342
19 console.log(location.hostname); localhost
20 console.log(location.port); 63342
21 console.log(location.pathname); /workspace/11-9/BOM.html //location的五个属性
22
23 而location的search属性返回参数化url
24 如 http://localhost:63342/workspace/11-9/BOM.html?wang location.search=?wang
25
26 下面定义一个解析来自URL的查询串中的name=value
27 https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=webstorm%E9%85%8D%E8%89%B2&oq=webstorm&rsv_pq=b2d64f4e0003214d&rsv_t=0a10xw9EjYauMGcW7Bl2zHr5TqKKubjLepimpnF32hcA0j%2FF8oAuNGyqZjs&rsv_enter=1&inputT=2387&rsv_sug3=12&rsv_sug1=13&bs=webstorm
28 这是一个来自百度的URL查询串
29 function urlArgs(){
30 var args={}; //定义一个空对象,用于存储查询到的键值对
31 var query=location.search.substring(1);
32 //location.search就是返回url中?后面的值(包括?)所以用字符串方法substring去除?
33 var pairs=query.split("&");
34 //split字符串分割函数,返回一个数组
35 for(var i=0;i<pairs.length;i++){
36 var pos=pairs[i].indexOf("=");//indexOf("a")返回某个字符在字符串内的索引值
37 var name=pairs[i].substring(0,pos);
38 var value=pairs[i].substring(pos+1);
39 value=decodeURIcomponent(value); //对value进行解码
40 args[name]=value;
41 }
42 }
43
44 location载入新的文档//assign()和replace()方法
45 区别在assign()会在浏览器历史留下记录,而replace则是替换
46 应用: if(!XMLHttpRequest) location.replace("newStaticPage");
47 location.reload(); //重新载入当前文档
48 而更直接的做法是把一个新的url直接赋值给location
49 location="http://www.baidu.com";
50 //片段标识符#id,可以让浏览器滚动到标识符后id位置
51
52
53 3.window.history
54 window.history={
55 back:
56 forward://使浏览器后退或者前进一个网页
57
58 go(-2)//回退两个页面
59
60 }
61
62 4.navigator和screen
63 navigator{
64 appName//返回浏览器名称
65 appVersion//版本号
66 userAgent//返回浏览器的一些信息
67 //firefox:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
68 platform//返回用户操作系统
69 }
70 screen{
71 width,
72 height,
73 availwidth,
74 availheight,
75 }
76
77 5.对话框
78 window提供了三个方法向用户显示简单的对话框
79 alert()向用户显示一条信息并等待用户关闭对话框
80 confirm()先显示一条消息,要求用户单击“确定”或“取消”按钮,并返回一个布尔值
81 prompt()也同样显示一条消息,等到用户输入字符串,并返回
82 这三个方法会产生阻塞,终止当前文档的载入,直到关闭对话框
83
84 showModalDialog(
85 "url",
86 ["txt",args1,args2,args3];
87 "dialogwidth:400;dialogheight:300;resizeable:yes"
88 );
89
90 6.牢记词法的作用域规则
91 函数在定义它的作用域中执行,而不是在调用它的作用域执行。所以即使A中的函数在B窗体中执行,其使用的全局变量也是在A中的。
92