View Single Post
Old 10-08-2003, 15:08   #19
Svartkladd
Priest Of Syrinx
 
Join Date: сен 2002
Сообщений: 3,635
Ethereal
Упс... !!! Сорри!!! хотел их опубликовать, когда все иссякнут, но тут появились новые и... забыл...
Вот они:

1. По поводу манипуляции функцией как объектом. Класс функции Function, короче говоря... Дык вот... подразумевается, что выражения типа function samplefunc(a,b) { return (a+b);} и samplefunc = new Function("a","b","a+b"); эквивалентны. Но если вывести результат на экран HTML документа первым способом у меня не вызывало трудностей:
...
<script>
function samplefunc(a,b) { var c; c = a+b; document.write(c.toString());}
</script>
...
<script language="javascript">
samplefunc(2,3);
</script>
...
... что ессно выводило 5, то с приминением второго варианта у меня возникли проблемы... Так вот собственно о чем я прошу - приведите пожалуйста пример такого же использования, но классом функции Function (то есть, как вывести результат на экран вторым способом?).

2. У меня также почему то не получается использовать методы класса Math...
Рассмотрим на примере abs(); Допустим, мне нужна абсолютная величина числа -4...
Я поступал так...

c = new Math();
c = c.abs("-4"); /пробовал и без кавычек, короче, как только не пробовал.../
document.write(c.toString());

По крайней мере аналоги методов класса Date работали, а тут такая бяка...  Ну не возвращает он 4... Что делать?

3. Еще один вопрос касается манипуляции окнами. Допустим, мне надо, чтобы при открытии новой странички появлялось предложение о ее закрытии с вариантами OK & Cancel - вот что я делал:

var a; /пробовал и без инициализации/
a = window.confirm("Хочешь выйти?");
if (a = true)
window.close();
else
document.write("Зря, дерьмовый сайт!");

Дык вот... при любом варианте срабатывает только window.close(); Может я что не так написал? Короче, и тут нужен ваш совет, камрады.

4. Последний вопрос про рекурсии. Функция высчитывающая факториал выглядет так:

function factorial(a) {
if (a = 0)
{
return 1;
}
else
return (a*factorial(a-1));
}

Тут вопрос ерундовый... Как вывести разультат на экран? Стандартным присваиванием, как в вопросе 1, не получается... Ай нид хэлп...



Mips /бьется головой о клавиатуру.../
Svartkladd is offline   Ответить с цитированием