JavaScript被认为具有一流的功能,因此以下代码应该可以工作:
var f = document.getElementById; var x = f('x');
但是它在所有浏览器上均失败,每个浏览器上都有不同的隐式错误消息。Safari提示“输入错误”。Chrome表示“非法调用”。Firefox说“无法转换JavaScript参数”。
为什么?
因为在JavaScript函数中,arent 绑定 到上下文(this)。您可以使用bind():
this
bind()
var f = document.getElementById.bind(document);