Código:
  
function cBloque(i,j) {
	this.name = "fila[" + i + "," + j + "]";
	this.crear = function(){
		this.bloque = document.createElement("div");
		this.bloque.className = "bloque_1";
		document.body.appendChild(this.bloque);
	}
	
	this.addEvent = function(){
		
		// Agregando Evento
		
		if(this.bloque.addEventListener){
			// Mozilla
			this.bloque.addEventListener('click',function(event){
				alert(this.name); <----- Aquí
			},false);
		}
			// Iexplorer.
		else if ( this.bloque.attachEvent){
			this.bloque.attachEvent('onclick',function(event){
				alert("hola");
			});
		}
	}	
}
// Funcion para crear el tablero
function tablero(){
	for(var i=0;i<=fila.length-1;i++){
		for(var j=0;j<=fila[i].length - 1;j++){
			var bloque = new cBloque(i,j);
			alert(bloque.name);
			bloque.crear();
			bloque.addEvent();
			
		}
	}
}
Si a la funcion addEvent le agrego un parametro "nombre" y en la llamada pongo bloque.addEvent(bloque.name), sí funciona.
Quisiera saber porque el primer script no .
 
 



