Возможный дубликат:
Наложение псевдонимов JavaScript не работает
Связанный jsfiddle: http://jsfiddle.net/cWCZs/1/
Следующий код работает отлично:
var qs = function( s ) {
return document.querySelector( s );
};
qs( 'some selector' );
Но следующее:
var qs = document.querySelector;
qs( 'some selector' ); // Uncaught TypeError: Illegal invocation
Я не понимаю, почему.
Моя путаница связана с тем, что это работает:
function t() {
console.log( 'hi' );
}
var s = t;
s(); // "hi"