В Javascript нет такой вещи, как «связанный метод» (заимствовать термин из Python, который, я надеюсь, вы уже знаете, или объяснение может потребоваться более длинное). Когда вы получаете ссылку на «document.getElementsByTagName», вы просто получаете ссылку на функцию , а не на метод , связанный с объектом документа. Когда вы вызываете его, «this» устанавливается в окне, а не в документе, поэтому оно не работает.
Технически это даст вам то, что вы хотите, но, как вы, вероятно, видите, это бессмысленно:
var x = f.call(document, 'div')
(Это бессмысленно, потому что это менее читабельно и не так быстро, как вызов document.getElementsByTagName (). Использование замыкания бессмысленно.)