Skip to content

面试题

1. 动态执行JS有哪些方式?

注意:以下方式都受CSP策略限制,不能在严格模式下使用。

js
// 1. eval函数, 局部作用域
eval('console.log(123)');

// 2. new Function构造函数, 全局作用域
const fn = new Function('console.log(456)');
fn();

// 3. setTimeout和setInterval, 全局作用域
setTimeout('console.log(789)', 0);

// 4. 动态创建script标签, 全局作用域
const script = document.createElement('script');
script.textContent = 'console.log(101112)';
document.head.appendChild(script);