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

在JavaScript中,您可以设置变量来保存某些函数并使用它们,如下所示:

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(文档)