В Javascript каждая функция является объектом.Javascript - Каждая функция объекта?
function a() {
this.x = function() { console.log("x"); }
}
Здесь «a» - это функция, которая является объектом. правильно?
var b = Object.create(a);
b.x(); //does not work!!
Приведенный выше код будет работать, если мы уже писали -
var b = Object.create(new a())
Так что это означает, что только экземпляр функции является объект? а не функция?
Функция - это объект, но внутри функции 'this' не является этим объектом. Это контекст, заданный вызывающим. –
, если вы отметите - переменная '' 'не имеет свойства' x' :-) так и унаследовано 'b' также не имеет этого – Grundy
В дополнение к комментарию Фредерика, это не только' this', не ссылка на 'a', в коде, который не работал, вы никогда не вызываете функцию, поэтому код внутри нее не был запущен. – nnnnnn