正如 Douglas Crockford 在JavaScript,The Good Parts中提到的,将字符串传递给setTimeout
或setInterval
调用eval()
,应该避免:
setTimeout('console.log("this uses eval()");', 100);
考虑到这一点,使用内联事件处理程序时是否会发生同样的事情,像这样?:
<button onclick="console.log('click!');">Click Me</button>
换句话说,当事件被触发时,使用内联事件处理程序是否会产生额外的解析开销,或者是在初始文档加载期间完成的解析以及其他所有内容(例如内联脚本块、标题中的脚本等)。