JavaScript - неверная ошибка при назначении левой стороны при вызове нового для создания объекта

Я реализую алгоритм Binary Search Tree, используя Canvas & JavaScript.

Прежде всего, я создаю базовый класс (Node) с некоторыми атрибутами и функциями. Я получил следующую ошибку при реализации функции insertNode(): ReferenceError: invalid assignment left-hand side в следующей строке: this = new Node(newNodeData); (line 63)

Вот мой код: http://jsbin.com/ASebuRaz/1/edit?html,output

Как исправить эту ошибку?


person sonlexqt    schedule 03.01.2014    source источник
comment
Вы не можете назначить this чему-то новому. Вы не можете изменить свой собственный указатель.   -  person Eli Gassert    schedule 03.01.2014
comment
я получаю Uncaught TypeError: Cannot call method 'insertNode' of null   -  person Halcyon    schedule 03.01.2014
comment
Почему вы пытаетесь установить this на что-то?   -  person Rocket Hazmat    schedule 03.01.2014
comment
Думаю, он сделал это, потому что он пытается использовать this как абстракцию итератора, думая об этом как о некоторой переменной указателя C.   -  person Alexander    schedule 03.01.2014


Ответы (1)


Вы не можете установить this на что-либо. this относится к элементу, в котором вы находитесь, и поэтому неизменен в любой текущей области, в которой вы находитесь.

Возможно, вы могли бы установить другую переменную, возможно, self, которая ни для чего не зарезервирована, чтобы поддерживать ту же область, если у вас есть вложенные объекты.

person scrblnrd3    schedule 03.01.2014