Kamrad.ru

Kamrad.ru (https://kamrad.ru/index.php)
- Веб-дизайн, вёрстка и веб-программирование (https://kamrad.ru/forumdisplay.php?forumid=87)
-- Вопросы по Javascript (https://kamrad.ru/showthread.php?threadid=51940)



Svartkladd 21-07-2003 18:14:

Question Вопросы по Javascript

Камрады, у меня появилось немного вопросов касательно Javascrpt'ов :

1. - Вопрос снят. Спасибо Mips'у

2. - Вопрос снят. Спасибо Alex Spade'у

3. - Вопрос снят. Спасибо Urkagan'у

4. - Вопрос снят. Спасибо Mips'у
__________________
...en grusom død til hver en mann som ikke hyller vårt faderland...



Alex Spade 21-07-2003 18:25:

Про пункт 2.
<SCRIPT language="JavaScript">
{
c = Math.abs(-2);
document.write(c);
}
</SCRIPT>

Про пункт 4.
Вопрос таки был про факториал или таки про рекурсии?
Высчитывать факториал рекурсивно, ИМХО, не продуктивно, for прекрасно с этим справляется.

Про пункт 3.
Зайди на
http://starwarrior.theforce.ru/inde...6.htm#TIEFUCKER
щёлкни по картинке
У кода две части
1) вызывная (посмотришь сразу)
2) и закрывная-пересыльная (откроется окошко, правой клавишей, смотри код)



Svartkladd 21-07-2003 18:45:

Alex Spade Про вычисление факториала числа при помощи рекурсии (в скрипте все видно)
Зря ты так, очень даже продуктивно... имхо...
tnx, посмотрю...



Svartkladd 21-07-2003 18:55:

Alex Spade Про ссылку - это немного не то, я имел в виду метод confirm объекта window - там же boolean' овский тип, а по ссылке все упрощено до нельза - две кнопки с onClick'ом...
Я же спросил - почему при нажатии на Cancel он возвращает True - вот что мне не понятно...



Alex Spade 21-07-2003 20:12:

Vrot
почему при нажатии на Cancel он возвращает True
Точно? Проверь, но не через if, а явно...



Svartkladd 21-07-2003 21:58:

Alex Spade Странно, так все путем... Как думаешь, где ошибка в скрипте?
ЗЫ. Спасибо за Math



Urkagan 22-07-2003 07:43:

Vrot
по поводу вопроса № 3. Есть у меня подозрение, которе жутко лень проверять в книге, ибо утро, завтрак, и вообще . Так вот есть подозрение что надо писать if (a==true). То есть два знака равно, что является оператором сравнения, а не присвоения, как в твоем случае.



Svartkladd 22-07-2003 11:51:

Urkagan Ессно!!! /Бьется головой о клавиатуру/



Anafay 22-07-2003 17:28:

Vrot

code:

<html>
<head>
<sсript>
var testfun=new Function("","document.writeln('test');");
</sсript>
</head>
<body>
<sсript>
testfun.call();
</sсript>
</body>
</html>



Подробнее смотреть Тут



Anafay 22-07-2003 17:36:

Vrot
По поводу (4): функция, вычисляющая факториал, должна вычислять факториал, не более того. И делать в ней что-то еще не стоит. Если тебе надо его вывести в документ или еще куда - то это другая функция.



Svartkladd 22-07-2003 21:34:

Anafay Большое спасибо!



Mips 25-07-2003 08:26:

1.
<sсript>
samplefunc=new Function("a","b","return a+b;");
document.write(samplefunc(2,3));
</sсript>


4.
<sсript>
function factorial(n) {
n=Math.floor(n);
if (n<0) return -1;
else if (n==0) return 1;
else return (n*factorial(n-1));
}
document.write(factorial(5));
</sсript>


или, если версия яваскрипта 5.5

<sсript>
function factorial(n){
n = Math.floor(n);
if (n<0) return -1;
else if (n==0) return 1;
else return n*arguments.callee(n-1)
}
document.write(factorial(5));
</sсript>



Svartkladd 27-07-2003 21:32:

Mips Огромное спасибо - выручил...
Последняя ( ) просьба, камрады... проверте скрипт круговой анимации... наверное где-то ошибка тк не работает гад

<HTML>
<HEAD>
<title>Анимация на Web-странице</title>
<sсript>
var xbegin, ybegin, r, angle, timer;
r = 100;
angle = 0;
xbegin = 200;
ybegin = 200;
function setupAnimation() {
timer = window.setInterval("moveImage()", 100) }
function moveImage() {
var rad;
angle += 1;
liveImage.src = "smile.gif";
rad = angle * Math.PI / 180;
liveImage.style.pixelLeft = xbegin + r * Math.sin(rad);
liveImage.style.pixelTop = ybegin + r * Math.cos(rad);
if (angle >= 360) angle = 0; }
</sсript>
</HEAD>
<BODY onLoad = "setupAnimation();">
</BODY>
</HTML>

Заранее спасибо...



Svartkladd 01-08-2003 20:31:

Камрады, пожалуйста, выскажите хотя бы предположения...



Anafay 01-08-2003 21:01:

Vrot
Извини, а кто такой liveImage? По идее, это должно ошибку выплевывать. С руганью на строчку с liveImage.src= и т.д.



Svartkladd 04-08-2003 22:04:

ты хочешь сказать, что надо было просто liveImage инициализировать как объект new Image(); ?



Mips 05-08-2003 01:22:

Vrot, У тебя же нет объекта liveImage.
Просто добавь в боди <img src="smile.gif" id="liveImage" style="position:absolute">

ps: Не бери в голову, бери Vrot - легче выплюнуть :}



Ethereal 07-08-2003 18:19:

Vrot Зачем же формулировки вопросов стирать? Это уже проявление эгоизма, IMHO



Svartkladd 10-08-2003 16:08:

Ethereal
Упс... !!! Сорри!!! хотел их опубликовать, когда все иссякнут, но тут появились новые и... забыл...
Вот они:

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



Укуренный Зомби 04-09-2003 01:03:

господа... а вот учебника по яве ни у кого не завалялось?



Svartkladd 05-09-2003 19:06:

Укуренный Зомби Java или JavaScript?



Mips 13-09-2003 16:13:

если по яваскрипт, то смотри Справочник веб-программера


Текущее время: 13:38

Powered by: vBulletin Version 2.0.1
Copyright © Jelsoft Enterprises Limited 2000, 2001.
Любое использование материалов сайта
возможно только с разрешения его администрации.