var write = document.write;
var log = console.log;
log('bbbbb'); //正确执行
write('aaaaa'); //报错 Uncaught TypeError: Illegal invocation
var write = document.write;
var log = console.log;
log('bbbbb'); //正确执行
write('aaaaa'); //报错 Uncaught TypeError: Illegal invocation
Uncaught TypeError: Illegal invocation 是指非法调用,
通常发生的原因是: Calling a Method with a Function Pointer without ".call" or ".bind".
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
这种情况一般是write方法内部使用了this, document.write调用时,this指向document。 你赋值给write然后全局调用write()时,this指向了window。所以报错。 可以这样调用write.call(document,"aaaaa");