Javascript(八):window对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tuyi5078/article/details/79976991

       解决了上一节Javascript(七):闭包这个难题,这节要学习一下js中的窗口概念。

       window(窗口)对象是浏览器中最底层的对象。我们倾向于把window中的方法称为函数。  

       首先看一下它的三个最常用的提示方法

alert( );适用于纯提示的时候,执行这个方法的时候,会在页面中弹出一个窗口,窗口中的内容为alert括号中的内容。如:

alert("你的电脑将遭到病毒攻击,是否停止访问");

执行结果:


这个窗口只有“确定”一个按钮,作用就是提示用户某个信息,点击“确定”就是为了确保用户已经知道该条信息。

confirm( );适用于一些不可撤回的操作,比如删除操作,你在点击删除按钮时,一般系统都会提示:你是否要将该文件删除,然后这个窗口会有两个按钮:确定、取消。如:

confirm("是否要删除该文件?");

执行结果:


当我们点击“确定”按钮时,这个函数会返回true;点击取消时,函数返回false。

prompt( );这个方法会弹出一个输入框,用户可以输入信息,并且用户在输入信息并且确定后,该信息的值就会作为这个函数的返回值。如:

prompt("你叫什么名字?");

执行结果:


       接着介绍一下,关于window窗口中的时间特性的三种方法。

setTimeout(function( ){ },2000)定时器:当你所设定的时间到了,就去执行一些事情。这个方法中有两个参数,第一个参数是设定的时间到了之后,你想去执行的函数,该函数你可以直接通过一个function定义一个函数并把函数写在function后面的花括号中;或者第一个参数可以就写一个函数名,函数被定义在这个方法的外面。第二个参数就是时间,单位是毫秒(1000ms=1s),表示间隔多久后执行第一个参数中的函数。

setInterval(function( ){ },2000)和上面的方法一样,这个方法表示间隔多久执行一次第一个参数中的函数,会不停的执行。看如下代码:

var count = 0;
setInterval(jishi,2000);
function jishi( ) {
    count++;
    console.log(count);
}

执行结果:


每隔两秒,就会执行一次计数,会一直执行。

clearInterval(setInterval_name)当我们不希望它一直执行下去,想要它满足一个条件的时候就把它停止掉,在window对象中也定义了这样一个方法,就是clearInterval。这个函数只有一个参数,这个参数表示你想要停止setInterval。看如下代码:

var count = 0;
var time = setInterval(jishi,2000);
function jishi( ) {
    count++;
    if(count > 3){
        clearInterval(time);
        return;
    }
    console.log(count);
}

执行结果:


当count>3时,就停止执行jishi函数了,注意:在上述代码中,如果if包含的花括号中没有包含return语句,执行结果会显示1、2、3、4。因为当count=4时,执行了if里的cleanInterval,但由于没有出口,会继续执行完jishi这个函数里的内容。

       最后,再看一个有意思的东西,看下面的代码:

setTimeout(function () {
    console.log('小兔')
},0);
console.log('乌龟');

读者可以稍微停顿一下,想想执行上述代码,是会先打印小兔还是乌龟。历史总是惊人的相似,龟兔赛跑中总是乌龟先到。

执行结果:


这是因为setTimeout和setInterval中的function函数会被存放在一个队列中,这个队列在窗口的外面。







猜你喜欢

转载自blog.csdn.net/tuyi5078/article/details/79976991