JavaScript reflection

Позвони мне, позвони,
Позвони мне, ради Бога,
Через время протяни
Голос тихий и глубокий.

Не, я не ударился головой, ну не 5 минут назад точно :) Это мне рефлексия навеяла:


Function.prototype.call.call(function(){ 
	console.log(this, arguments); 
}, window, [1,2,3]); // window, [1,2,3]

По-моему очень красиво, особенно .call.call

5 Комментарии “JavaScript reflection

  1. Объясните, пожалуйста, что это даёт и как это можно использовать?
    Я, к сожалению, не понимаю для чего call вызывать саму себя.

  2. например в IE7 xhr.abort не имеет метода .call, но его можно вызвать через эту конструкцию

  3. Благодарю за быстрый ответ! А не могли бы вы, пожалуйста, это показать наглядно (отрывок кода) где и как это использовать, а то я всё ещё не понял как это использовать и что это делает, к сожалению.

  4. Благодарю за быстрый ответ и ссылку, но мне всё равно было непонятно и я решил забить в поисковике:
    что делает «Function.prototype.call.call»

    Нашёл довольно понятное разъяснение тут:
    http://toster.ru/q/5846#answer_25029

Комментарии закрыты