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

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

setTimeout的問題

setTimeout的問題

不負相思意 2019-03-12 15:13:02
setTimeout()接收兩個參數,第一個參數為執(zhí)行的回調,第二個參數是延時的時間。第一個參數可以為字符串。setTimeout("alert(1)",1000);setTimeout(function(){alert(1)},1000);這兩個都會在1秒后彈框,在《Javascript高級程序設計第三版》中明確指出第一種方式可能會導致性能缺失。但是為什么會性能缺失卻沒有詳細闡述,這里我想問的就是第一個參數傳遞字符串為什么會導致性能缺失?導致的是什么性能缺失?
查看完整描述

2 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

實質上如果第一個參數填寫字符串的話是調用了eval()方法,以下是MDN對性能損失的解釋:

eval() 通常比替代方法慢,因為它必須調用 JS 解釋器,而許多其他結構則由現代 JS 引擎進行優(yōu)化。

大致解釋以下,就是每一次運行這段代碼都會重新調用JS解釋器,重新進行解釋運行,而優(yōu)化步驟比如V8引擎中JIT(Just In Time)優(yōu)化方法會失效。


查看完整回答
反對 回復 2019-03-18
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

字符串要轉換成可執(zhí)行的代碼 類似多走了一遍eval


查看完整回答
反對 回復 2019-03-18
  • 2 回答
  • 0 關注
  • 610 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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