Setting an object's property to null. Need help understanding

Hi!

Can someone tell me what it means to set an object’s property to null? What happens if we don’t set it to null? What will it contain?

In the code below, there are a couple of these lines:


link.removeChild(link._tooltip);
link._tooltip = null;

Here is a complete code:


var Tooltips = 
{
	init: function()
	{
		//create a node lis of hyperlinks
		var links = document.getElementsByTagName("a");
		for(var i = 0; i < links.length; i++)
		{
			var title = links[i].getAttribute("title");
			if(title && title.length > 0)
			{
				Core.addEventListener(links[i], "mouseover", Tooltips.showTipListener);
				Core.addEventListener(links[i], "mouseout", Tooltips.hideTipListener);
				Core.addEventListener(links[i], "focus", Tooltips.showTipListener);
				Core.addEventListener(links[i], "blur", Tooltips.showTipListener);
			}
		}
	}, 
	
	showTipListener: function(event)
	{
		Tooltips.showTip(this);
		Core.preventDefault(event);
	},
	
	showTip: function(link)
	{
		Tooltips.hideTip(link);
		//create an element
		var span = document.createElement("span");
		//assign our span a class
		span.className = "tooltip";
		//create a text node
		var tipText = document.createTextNode(link.title);
		//make tipText to be inside of span
		span.appendChild(tipText);
		//assign span to be a child of a link
		link.appendChild(span);
		link._tooltip = span;
		link.title = "";
	},
	
	hideTipListener: function()
	{
		Tooltips.hideTip(this);
	},
	
	hideTip: function(link)
	{
		if(link._tooltip)
		{
			link.title = link._tooltip.childNodes[0].nodeValue
			link.removeChild(link._tooltip);
			link._tooltip = null;
		}
	}
};
Core.start(Tooltips);

Code is used to create tool tips on several events.
Thanks in advance for any input.
Alex.