| 
		
			Сообщение от obli
			
		
	 | 
	| 
		что будет в var current
	 | 
	
выражением 
{
wall: false,
window: false,
tulle: false,
model: false,
fabric: false,
tulle_index: 0,
model_index: 0,
fabric_index: 0,
}
создается новый объект. Это то же самое что
var current = new function(){
   this.wall= false
   this.window= false
   this.tulle= false
   this.model= false
   this.fabric= false
   this.tulle_index= 0
   this.model_index= 0
   this.fabric_index= 0
}
console.log(current)
//  { wall: false,
//    window: false,
//    tulle: false,
//    model: false,
//    fabric: false,
//    tulle_index: 0,
//    model_index: 0,
//    fabric_index: 0 }
то есть, данное выражение создает и возвращает объект. Этот объект связывается с переменной current, точней говоря, ссылка current указывает на этот объект, или, по адресу current доступен объект.
	
	| 
		
			Сообщение от obli
			
		
	 | 
	| 
		что делает к примеру wall: false
	 | 
	
приблизительно то же самое, только объект false -- это примитивный тип, он всегда ссылается сам на себя.
alert(false===false)
//  true
Выражение false не создает новый объект, как в примере выше, а возвращает уже предопределенный на уровне реализации объект, условно будем его обозначать как [[false]], который всегда находится только в одном экземпляре.
То есть, что-то вроде синглтона, это выражение false всегда возвращает один и тот же  объект [[false]]. Такое поведение у всех примитивных  данных (строки числа etc). Соответственно, ссылка current.wall ссылается на примитив [[false]]. Все ссылки на false (как и на другие примитивы), ссылаются всегда на одно и то же. Тебе, как новичку, очень важно прочувствовать эту разницу.
a={}
b={}
alert(a===b)
a=false
b=false
alert(a===b)
//  false
//  true