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

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

@WingMeng的問題“想增加一個功能:窗口改變時重新獲取窗口大小”引申出來的疑惑。

<!DOCTYPE?HTML>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
</head>
<body>
<script?type="text/javascript">
function?Size(){
????var?Wt?=?document.documentElement.clientWidth?||?document.body.clientWeight;
????var?Ht?=?document.documentElement.clientHeight?||?document.body.clientHeight;
????document.innerHTML="瀏覽器當前窗口大小為:"?+?Wt?+"px&times;"?+?Ht?+?"px";
}
Size();?
//?當前窗口調(diào)整尺寸時重新獲取尺寸
window.onresize?=?function(){
????Size();
}
</script>
</body>
</html>

我有一個知識點不太懂,15行的代碼

window.onresize?=?function(){
????Size();
}

為什么要加上function(){} ?

Size()不已經(jīng)是一個函數(shù)了嗎?

試了一下去掉function()后Size()只能運行一次,請問這是為什么?

具體的知識點在哪里講過還請大神明示,我好具體的看看。THX~

正在回答

2 回答

<!DOCTYPE?HTML>
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
<script?type="text/javascript">

//?當前窗口調(diào)整尺寸時重新獲取尺寸
window.onresize?=?Size;

function?Size()
{
????var?Wt?=?document.documentElement.clientWidth?||?document.body.clientWeight;
????var?Ht?=?document.documentElement.clientHeight?||?document.body.clientHeight;
????document.body.innerHTML?=?"瀏覽器當前窗口大小為:"?+?Wt?+"px&times;"?+?Ht?+?"px";
}

</script>
</head>
<body>
</body>
</html>

一下詳細解答來自百度知道->@司馬唐遷。


js是事件驅(qū)動的,一個節(jié)點可以發(fā)生很多種事件,包括click事件。在js中,當節(jié)點發(fā)生某一個事件時,可以為該事件綁定一個處理函數(shù)。也就是類似的

document.getElementById("myBtn").onclick?=?function(){}

所要注意的是,這個節(jié)點的onclick屬性,需要賦給一個函數(shù)類型的值,才可以處理事件。

但是displayDate()并不是一個函數(shù),你可以說你定義了displayDate函數(shù),但displayDate()也就是加了一對括號的displayDate,是函數(shù)執(zhí)行了,displayDate()是等價于displayDate的返回值的。在displayDate函數(shù)里,只是給id為demo的節(jié)點重新設(shè)置了內(nèi)容,沒有返回值,所以默認的就是undefined。

那么如果寫成

document.getElementById("myBtn").onclick?=?displayDate();

實際上是等價于

document.getElementById("myBtn").onclick?=?undefined;

顯然undefined是不能作為節(jié)點事件的處理函數(shù)的。

但是,也不是一定要加上function(){},你可以寫成這樣:

document.getElementById("myBtn").onclick?=?displayDate;

雖然displayDate()不是函數(shù),但displayDate卻是函數(shù),是可以作為節(jié)點事件的處理函數(shù)的。


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

犀利一下下

講的很好,謝謝
2015-08-09 回復(fù) 有任何疑惑可以回復(fù)我~
function?Size(){
????var?Wt?=?document.documentElement.clientWidth?||?document.body.clientWeight;
????var?Ht?=?document.documentElement.clientHeight?||?document.body.clientHeight;
????document.innerHTML="瀏覽器當前窗口大小為:"?+?Wt?+"px&times;"?+?Ht?+?"px";
}
Size();

這里執(zhí)行了一次Size();所以如果是這樣的話

window.onresize?=?Size();

無論窗口改不改變,Size()的值都直接賦值給window.onresize

因此要這樣

window.onresize?=?function(){
????Size();
}

當窗口發(fā)生改變的時候,才再一次執(zhí)行Size();讓改變后的窗口值賦給window.onresize();

我的理解就是這樣,不對別噴,大家來探討

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

舉報

0/150
提交
取消

@WingMeng的問題“想增加一個功能:窗口改變時重新獲取窗口大小”引申出來的疑惑。

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

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

幫助反饋 APP下載

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

公眾號

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