Javascript 为什么可以';文档方法不能保存在函数中吗?
在JavaScript中,您可以设置变量来保存某些函数并使用它们,如下所示:Javascript 为什么可以';文档方法不能保存在函数中吗?,javascript,function,dom,Javascript,Function,Dom,在JavaScript中,您可以设置变量来保存某些函数并使用它们,如下所示: var log = console.log; log('foo'); 但出于某种奇怪的原因,您无法在大多数文档方法(如果不是所有文档方法的话)上执行此操作,例如querySelector: var select=document.querySelector; //导致错误:未捕获类型错误:非法调用 选择('p') ..上下文似乎丢失了。它不与文档绑定。这样使用它: var select=document.que
var log = console.log;
log('foo');
但出于某种奇怪的原因,您无法在大多数文档方法(如果不是所有文档方法的话)上执行此操作,例如querySelector
:
var select=document.querySelector;
//导致错误:未捕获类型错误:非法调用
选择('p')代码>
..
上下文似乎丢失了。它不与文档绑定
。这样使用它:
var select=document.querySelector.bind(文档);
//工作!
console.log(选择('p'))代码>
..
因为这个
。尝试使用var select=document.querySelector.bind(文档)代码>;