Показать сообщение отдельно
  #4 (permalink)  
Старый 18.05.2012, 18:56
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Когда-то кто-то спрашивал, как сэмулировать оператор with:
function withEmu( object, f ) {
	var argumentNamesArray = [],
		argumentValuesArray = [],
		newF;                        
		for( var arg in object ) {
			argumentNamesArray.push( arg );
			argumentValuesArray.push( object[ arg ] );
			}
		argumentNamesArray.push( 'return (' + f + ')()' );
		newF = Function.apply( null, argumentNamesArray );
		return newF.apply( null, argumentValuesArray );
}

var x = withEmu( {a:1, b:2, c: 'blah'}, function() {
    return [a,b,c];
});

alert( x );
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием