JavaScript
Диалект языка программирования ECMAScriptJavaScript — скриптовый язык программирования, послуживший основой для стандарта ECMAScript и ставший впоследствии его самым популярным диалектом.
JavaScript был создан компанией Netscape и в декабре 1995 года выпущен в составе браузера Netscape Navigator (реализация SpiderMonkey). Язык быстро завоевал популярность и теперь в той или иной реализации поддерживается всеми браузерами.
Наиболее распространено использование JavaScript для написания клиентской стороны веб-приложений, что позволяет создавать динамические страницы и пользовательские интерфейсы. Существует также ряд реализаций, не предназначенных для работы с веб.
Примеры:
Hello, World!:
Пример для версий SpiderMonkey (Firefox 3.5)JavaScript может применять для вывода сообщений различные команды в зависимости от того, в какой среде он используется:
-
print
: при использовании интерпретатора с интерфейсом командной строки выводит сообщение в стандартный поток вывода, при использовании браузера — вызывает диалог печати для текущего документа; -
document.write
: при использовании браузера — записывает текст на страницу; -
console.log
: команда плагина Firebug, предназначенная для вывода отладочных сообщений в консоль плагина; -
alert
: при использовании браузера — создает всплывающее окно информации с этим текстом.
print('Hello, World!');
document.write('Hello, World!');
console.log('Hello, World!');
alert('Hello, World!');
Факториал:
Пример для версий SpiderMonkey (Firefox 3.5)Используется рекурсивное определение факториала. Пример предназначен для запуска из веб-браузера. Команда document.clear
очищает текущую веб-страницу.
function factorial(n)
{ if (n == 0)
return 1;
else
return n * factorial(n-1);
}
var i;
document.clear();
for (i = 0; i <= 16; i++)
document.write(i + "! = " + factorial(i) + "<br />");
Числа Фибоначчи:
Пример для версий SpiderMonkey (Firefox 3.5)Используется рекурсивное определение чисел Фибоначчи. Пример предназначен для запуска из веб-браузера.
function fibonacci(n)
{ if (n<3)
return 1;
else
return fibonacci(n-1) + fibonacci(n-2);
}
var i;
document.clear();
for (i = 1; i <= 16; i++)
document.write(fibonacci(i) + ", ");
document.write("...<br />");
Квадратное уравнение:
Пример для версий SpiderMonkey (Firefox 3.5)Пример выполняется в веб-браузере. Чтобы запустить пример, скопируйте код в файл quadratic.js
и создайте файл HTML, находящийся в том же каталоге, содержащий следующий текст:
<head>
<script type="text/javascript" src="quadratic.js"></script>
</head>
<body>
<form name="quadratic">
<input type="number" required="required" name="A">
<input type="number" required="required" name="B">
<input type="number" required="required" name="C">
<input type="button" value="Solve" onClick="solve()">
</form>
<p id="output">
</p>
</body>
Это создаст веб-страницу с тремя полями ввода и кнопкой. При нажатии на кнопку будет решено уравнение с введенными коэффициентами, и корни будут напечатаны под полями ввода.
В JavaScript нет типа данных для работы с комплексными числами, поэтому вычисления производятся в дробных числах и выполняется отдельная проверка на знак дискриминанта. Реализация позволяет решать квадратные уравнения не только с целыми, но и с дробными коэффициентами.
function print(real, imag)
{ if (Math.abs(imag)<1E-6)
return real;
else
return '('+real+','+imag+')';
}
function solve()
{ A = document.quadratic.A.value;
if (Math.abs(A)<1E-3)
{ document.getElementById('output').innerHTML = 'Not a quadratic equation.';
return;
}
B = document.quadratic.B.value;
C = document.quadratic.C.value;
A = 2*A;
D = B*B-2*A*C;
if (Math.abs(D)<1E-3)
{ document.getElementById('output').innerHTML = 'x = '+(-B/A);
return;
}
if (D>0)
document.getElementById('output').innerHTML = 'x1 = '+print((-B+Math.sqrt(D))/A, 0)+'<br />x2 = '+print((-B-Math.sqrt(D))/A, 0);
else
document.getElementById('output').innerHTML = 'x1 = '+print(-B/A,Math.sqrt(-D)/A)+'<br />x2 = '+print(-B/A,-Math.sqrt(-D)/A);
}
CamelCase:
Пример для версий SpiderMonkey (Firefox 3.5)Пример выполняется в веб-браузере, точно так же, как квадратное уравнение. Форма ввода должна выглядеть следующим образом:
<form name="CamelCase">
<input type="text" required="required" name="txt">
<input type="button" value="Convert to CamelCase" onClick="convert()">
</form>
Сам код можно было бы записать в одну строчку, но он разбит на несколько частей для улучшения читабельности. Первая строка получает строку для обработки; вторая переводит ее в нижний регистр и заменяет все не-буквы пробелами. Третья строка переводит в верхний регистр первый символ каждого слова; наконец, четвертая строка убирает все пробелы. В JavaScript активно используются регулярные выражения, поэтому все действия производятся с их помощью.
function convert() {
txt = document.CamelCase.txt.value;
txt = txt.toLowerCase().replace(/[^a-z ]+/g, ' ');
txt = txt.replace(/^(.)|\s(.)/g, function($1) { return $1.toUpperCase(); });
txt = txt.replace(/[^a-zA-Z]+/g, '');
document.getElementById('output').innerHTML = txt;
}
Комментарии
]]>blog comments powered by Disqus
]]>