Как установить текущий объект в значение null?Установить текущий объект на нуль
function ZPNode(){}; //Constructor
function _destroy(){
//this = null; --> Won't work obviously
}
ZPNode.prototype.remove = function(){
//Remove node
_destroy.call(this);
};
Редактировать: возможно, описание не было ясно. Что должно произойти:
var tree = ZPTree.create(jsonArr);
var node = tree.findNode(1);
node.remove();
console.log(node); //null
Причина, по которой это просто. Вы не хотите, чтобы случайно сделать что-то вроде:
node.remove();
node.appendChild(anotherNode); //Oops
Возможное решение заключается в работе с состоянием на объекте, если нет другого пути.
Редактировать 2: После дополнительных исследований, я не думаю, что это возможно в целом. Я неохотно пойду с обходным решением. Я могу сделать что-то вроде:
tree.removeNode(node);
Хотя, по моему мнению, оно менее чистое.
Думаю, вам стоит взглянуть на [этот ответ] (http://stackoverflow.com/questions/2304860/can-an-object-automatically-delete-itself-in-javascript-once-it-has- достигнуто-его) –
, однако он не удалит сам объект. Ваша функция 'remove' не имеет эффекта – RomanPerekhrest
Почему вы хотите это сделать? – Rayon