現在のオブジェクトをnullに設定するにはどうすればよいですか?現在のオブジェクトを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