我正在考虑最小化一些javascript代码,但我得到了这个"非法调用"我尝试通过别名
调用函数时出错var d = document.createElement;
d('input');
有人知道为什么吗? TX
答案 0 :(得分:5)
看起来这已被其他人解决了。归结为事实
document.createElement
检查以确保this
引用document
。您可以通过执行以下操作来绕过此行为:
A:始终将其用作document.createElement(tagname)
或
乙
var o = document.createElement
o.call(document, tagname)
C
var d = document.createElement.bind(document);
(从上面回答)
请参阅http://blog.vjeux.com/2011/javascript/hook-document-createelement.html
答案 1 :(得分:3)
使用
var d = document.createElement.bind(document);
将this
函数中的d
绑定到document
对象