小编典典

如果JavaScript具有一流的功能,为什么不能在变量中调用此功能呢?

javascript

JavaScript被认为具有一流的功能,因此以下代码应该可以工作:

var f = document.getElementById;
var x = f('x');

但是它在所有浏览器上均失败,每个浏览器上都有不同的隐式错误消息。Safari提示“输入错误”。Chrome表示“非法调用”。Firefox说“无法转换JavaScript参数”。

为什么?


阅读 309

收藏
2020-05-01

共1个答案

小编典典

因为在JavaScript函数中,arent 绑定
到上下文(this)。您可以使用bind()

var f = document.getElementById.bind(document);
2020-05-01