1
執行爲什麼下面的JavaScript會引發TypeError?
var q = document.querySelector;
q("div");
拋出一個異常TypeError: Illegal Invocation
。這是爲什麼?
執行爲什麼下面的JavaScript會引發TypeError?
var q = document.querySelector;
q("div");
拋出一個異常TypeError: Illegal Invocation
。這是爲什麼?
因爲querySelector方法需要處理文檔的實例。您可以撥打
q.call(document, "div")
它說運行的方法,與此=文件
要細說,你所得到的是錯誤的原因是因爲如果你不使用上述語法「這個」內部的功能將引用「窗口」。函數必須有某種形式的檢查來確保'this'是類型文檔。
你也可以'var q = document.querySelector.bind(document);' – rafaelcastrocouto 2014-01-17 14:06:19