第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

局部變量的問題,stopFun和playFun里面都沒有定義play。但為什么可以正常運行。而stop未定義的話就實現(xiàn)不了。

var data=['Phone5','Ipad','三星筆記本','佳能相機','惠普打印機','謝謝參與','50元充值卡','1000元超市購物券'],
??? timer=null,
??? flag=0;

window.onload=function(){
??? var play=document.getElementById('play'),
?? ??? ?stop=document.getElementById('stop'),
?? ??? ?title=document.getElementById('title');
??? // 開始抽獎
??? play.onclick=playFun;
??? stop.onclick=stopFun;

?? // 鍵盤事件
?? ?document.onkeyup=function(event){
?? ??? ?evevt=event||window.event;
?? ??? ?if(event.keyCode==13){
?? ??? ??? ?if(flag==0){
?? ??? ??? ??? ?playFun();
?? ??? ??? ??? ?flag=1;
?? ??? ??? ?}else{
?? ??? ??? ??? ?stopFun();
?? ??? ??? ??? ?flag=0;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}

function playFun(){
?? ?var stop=document.getElementById('stop');//定義stop,未定義play?? ?clearInterval(timer);
?? ?timer=setInterval(function(){
?? ??? ?var random=Math.floor(Math.random()*data.length)
?? ??? ?title.innerHTML=data[random];
?? ?},50)
?? ?play.style.background="#999";
?? ?stop.style.background="#036";
?? ?flag=1;
}

function stopFun(){
?? ?var stop=document.getElementById('stop');//定義stop,未定義play
?? ?clearInterval(timer);
?? ?play.style.background="#036";
?? ?stop.style.background="#999";
?? ?flag=0;
}

正在回答

3 回答

//js可以通過元素ID直接訪問元素,也可以通過document.getElementById('play')的方式訪問。
//第一種方式不推薦,不是標(biāo)準(zhǔn)里面的,將來不一定支持。
//至于這里stop為什么獲取不到,是因為js默認(rèn)已經(jīng)定義了一個stop()函數(shù);
//你可以做以下嘗試:
//1.刪除id=stop的span,直接在window.onload中alert(stop),會看到stop是一個function,
//輸出的內(nèi)容是:function?stop(){[native?code]}
//
window.onload=function(){
????????alert(stop);
};
//
//2.修改span的id為stop外的其他值,比如gstop,效果就跟play一樣都能獲取到。


1 回復(fù) 有任何疑惑可以回復(fù)我~

play已經(jīng)在window.onload下面聲明了 ?屬于全局變量 ?在任何地方都可以獲取到

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

tlojy

你這理解有問題,playFun是定義在window.onload外面的,跟window.onload是同級的,是無法訪問window.onload里的變量的。
2016-10-11 回復(fù) 有任何疑惑可以回復(fù)我~

在函數(shù)外面變量加var表示全局變量,函數(shù)外面和里面都可以調(diào)用。而在函數(shù)里面的變量加var則表示局部變量,函數(shù)外部無法調(diào)用。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

harry2013 提問者

不是這個問題,問題是play在stopFun和playFun函數(shù)里面都未聲明,為什么可以獲取到play。
2016-08-07 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

局部變量的問題,stopFun和playFun里面都沒有定義play。但為什么可以正常運行。而stop未定義的話就實現(xiàn)不了。

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號