Вот ещё пример:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
function fn(){
eval('var ' + this.name + ' = ' + this.value);
alert(this.name);
}
fn.call({
name: 'test1',
value: '1'
});
fn.call({
name: 'test2',
value: '2'
});
</script>
</body>
</html>
Поставьте брейкпоинт на alert. При втором вызове почему-то нет переменной test1. При вызове функции, её старый scope затирается?