亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

看下面兩個問題

看下面兩個問題

<body> ????<marquee?id="container"?behavior="alternate"?scrollamount="1" ????????direction="up"?bgcolor="pink"?width="300"?height="400">?加速世界 ????</marquee> ????<script?type="text/javascript"> ????????var?i?=?1; ????????var?t?=?true; ????????document.onkeydown?=?function(event)?{ ????????????var?e?=?event?||?window.event ????????????????????||?arguments.callee.caller.arguments[0]; ????????????if?(e?&&?e.keyCode?==?37)?{?//?按?left?arrow? ????????????????t?=?false; ????????????} ????????????if?(e?&&?e.keyCode?==?39)?{?//?按?right?arrow? ????????????????t?=?true; ????????????} ????????????if?(t?==?false)?{ ????????????????i?=?i?-?1; ????????????}?else?{ ????????????????i?=?i?+?1; ????????????} ????????????if(i?<?0){????????//速度最低為0 ????????????????i?=?0; ????????????} ????????????document.getElementById("container") ????????????????????.setAttribute("scrollamount",?i);?//修改滾動速度 ????????}; ????</script> </body>var e = event || window.event || arguments.callee.caller.arguments[0];?e為什么要這樣定義?又是什么意思?if (e && e.keyCode == 37)?我試了不加e也可以運行,那為什么要加e呢?
查看完整描述

3 回答

?
啊呆_2

TA貢獻5條經驗 獲得超5個贊

第一個問題:這樣定義是為了瀏覽器的兼容,此時的e是事件對象。

第二個問題:我猜是為了更好的運行性能,如果事件對象e不存在,直接返回false,不必再去判斷到底按下了哪個鍵。如果存在事件對象e,再去判斷哪個鍵被按下才是有意義的。

查看完整回答
3 反對 回復 2016-12-14
  • 3 回答
  • 0 關注
  • 1622 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號