window
概念
它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。可以认为 js 外层有一个包裹全局的对象,里面定义的全局属性、方法都是定义在该对象内部,都自动成为 window 对象的成员。
全局变量是 window 对象的属性。
-
全局函数是 window 对象的方法。
var s_test = 'test' for(var p in window){ if(p == 's_test') // 通过字符串进行比较,因为 p 表示的属性名 alert(window[p]); // 输出结果为 test }
第一句定义了一个全局变量,它会自动成为 window 对象的一个属性,所以通过 for in 语句可以遍历到该属性。
for in 语句遍历该对象中的所有属性,如果属性名为 s_test (也就是自己定义的变量名),则输出这个属性值。
window 下的属性与方法可以使用 window. 进行调用,也可以直接写属性名或方法名。
常用方法
-
open() :打开新窗口。第一个参数表示新窗口加载的网页地址。第三个参数指定了新窗口的相关参数。
第二个参数表示窗口的别名,别名相同时,只会刷新窗口的内容,而不会再次打开新的;如果没有该参数,则会不断新建。
第二个参数为 _blank 时,会新建窗口。默认值。
第二个参数为 _parent 时,会在当前窗口加载新数据,而不会打开新的窗口。
close() : 关闭当前窗口
moveTo() : 移动当前窗口,将指定的 window 移动到相应的位置
resizeTo() : 调整当前窗口的尺寸
var myWindow;
function openWin() {
myWindow=window.open("", "myWindow", "width=200, height=100");
myWindow.document.write("<p>This is 'myWindow'</p>");
}
function moveWin() {
myWindow.moveTo(500, 100);
myWindow.focus();
}
function resize() {
myWindow.resizeTo(300, 600);
myWindow.focus();
}
function close(){
myWindow.close()
}
- encodeURI,decodeURI:对 URI 进行编码和解码。
alert(window.encodeURI('fdas中'))
encodeURIComponent,decodeURIComponent:对 URI 进行彻底的编码与解码,比上面两个使用的频率要高。
-
eval():解析字符串,如果字符串是 js 代码,会同时执行相应的 js 代码。
eval('var box = 100'); alert(box); //这里会输出 100 var s = 'function test(){alert("from eval")}' eval(s) test() //from eval
从上可以看出, eval 首先解析了字符串,同时执行其中的 js 代码,因此第一个 eval 方法执行完毕后,系统创建了一个 box 属性,同时 alert 输出 box 属性的值;
第二个 eval 方法解析一个函数,系统同时生成了一个名为 test 的函数 -
onload():整个文档加载结束后执行的方法。需要为该属性指定一个方法实现。
window.onload = function (argument) { console.log('finish') console.log(document.getElementById('a').innerHTML) }
定时任务
-
setTimeout():延迟多少毫秒后执行第一个参数指向的方法,第一个参数是方法名,当然也可以是一个匿名函数。
function m (){ console.log('aaa') } window.setTimeout(m,2000); window.setTimeout(function(){ console.log('33000') },3000) // 本次执行一个匿名函数
clearTimeout():取消指定的延迟执行。其参数为 setTimeout() 的返回值。
-
setInterval() 与 clearInterval():设置与清除重复执行,注意:该方法在开发中不建议使用。这是因为 setInterval 需要使用 clearInterval 清除掉任务。
var h ; function openSogou(){ h = setInterval(function(){ console.log('aaa') },2000) // 每隔 2s 执行一次指定的函数 } function clear2(){ clearInterval(h) }
系统对话框
alert() :警告框,只有确定选项
confirm():确认框,有确定和取消选项。点击确定,该方法返回 true,否则返回 false。
prompt:输入提示框,可以让用户进行输入。第一个参数表示输出提示,第二个参数表示输入默认值。用户点击确定时,返回用户输入的值; 否则返回 null。
常用属性
属性名 | 含义 |
---|---|
closed | 当窗口关闭时为 true |
定时器
由于不建议使用 setInterval() ,所以定义器使用 setTimeout() 实现。
var num = 0;
var max = 5;
function task(){
num++
// 这里写每一个定时的任务
document.getElementById('a').innerHTML += num;
if(num == max){
// 定时结束,执行任务
}else{
setTimeout(task,1000)
}
}
setTimeout(task,1000)
上一篇: Form提交时,后台获取jquery修改过的隐藏控件的值
下一篇: JVM参数调优(虚拟机参数配置)
推荐阅读
-
在Window 10上安装Docker图文教程
-
如何在window系统下快速建立Django框架
-
C#模拟window操作鼠标的方法
-
C#模拟window操作鼠标的方法
-
详解JavaScript编程中的window与window.screen对象
-
JS学习笔记:JS 的function( window, undefined ) {}(window)写法
-
JavaScript浏览器对象之一Window对象详解
-
WordPress在window2003 IIS ISAPI ReWrite下的URL规则
-
C 编程环境搭建 Window 篇
-
window7下使用Zend studio 中文乱码设置方法