执行
var q = document.querySelector;
q("div");
抛出TypeError: Illegal Invocation
个异常。那是为什么?
答案 0 :(得分:3)
因为querySelector方法需要一个文档实例来处理。你可以打电话
q.call(document, "div")
其中说运行方法,使用this = document
详细说明,你得到错误的原因是因为如果你不使用上述语法,那么该函数中的'this'将引用'window'。该函数必须进行某种形式的检查,以确保'this'是类型文档。