Blender для начинающих/Основы Web технологий: различия между версиями
Содержимое удалено Содержимое добавлено
Iniquity (обсуждение | вклад) м Откат правок Владислав Молдован (обс.) к версии 109.72.249.93 |
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
||
Строка 10:
==Подключение JS==
Для использования JS в файле.html надо написать следующее между тегами <nowiki><body> и </body></nowiki>:
<
<script type="text/javascript">
//код
</script>
</syntaxhighlight>
Первая стока указывает тип языка, на котором ниже будет писаться код до <nowiki></script></nowiki>. Атрибут type принимает значение «text/javascript», указывающее на то, что ниже располагается код, написаный на JS.
Размещать скрипты можно и в <nowiki><head> </head></nowiki>:
<
<script type="text/javascript">
//код
</script>
</syntaxhighlight>
Другим способом является использование кода на этом языке из внешнего файла:
<
Путь - путь к файлу, в котором лежит ваш скрипт.
==Комментарии==
Комментарии в JS могут начинаться с //, если они длятся всего одну строку:
<
Или начинаться с /*, и заканчиваться */, если это многострочные комментарии:
<
комментарий
*/</
==Вывод на экран==
Вывод чего-либо на страницу производится функцией document.write():
<
При том, внутри скобок все пишется по правилам HTML (то, что требуется отобразить).
Например, вывод жирного текста:
<
==Переменные==
Все переменные объявляются с ключевого слова var:
<
Переменная будет локальной, если она объявлена в теле функции. Если же объявлять без var (внутри функции), то созданая переменная будет глобальной.
Также, можно сразу указывать ее значение:
<
К примеру:
<
Можно и удалить переменные, написав конструкцию:
<
Это действует на переменные, объявленные без var. Если же переменная декларирована с var, то есть два способа ее удалить:
<
переменная = null;</
===Переменные let===
Эти переменные имеют еще более узкую область видимости - только внутри того блока, в котором объявлены. Например, в следующих блоках:
Строка 61:
# while
Их декларация происходит следующим образом:
<
==Массивы==
Массивы объявляются с помощью функции Array(), создющую пустой массив:
<
Для заполнения массива используйте конструкцию:
<
Например:
<
a[0] = 12
a[2] = 0</
Причем, если Вы указали индекс элемента массива, который превышает все предыдущее, длина массива станет равна i + 1, где i - этот индекс.
==Условный оператор if==
Условный оператор if в JS имеет синтаксис:
<
{
// команды
Строка 83:
{
// команды2
}</
В условие могут входить такие знаки сравнения:
{| class="wikitable"
Строка 104:
|}
Вывод сообщения в зависимости от значений переменных:
<
var a = 3;
var b = 7;
Строка 114:
{
document.write('a не равно b')
}}</
Иная форма оператора if представлена ниже:
<
{
// команды
Строка 128:
{
// командыN
}</
Даная форма условного оператора нужна для проверки большого количества условий. Если одно из условий выполнилось, то выполнятся команды написанные для этого условия, и браузер завершит проверку остальных условий.
Например, здесь выведется только одно сообщение - о равенстве переменных:
<
var a = 3;
var b = 3;
Строка 146:
{
document.write('a не равно b')
}</
===Сложные условия===
Для написания более сложных условий требуются специальные логические операторы: && (и), || (или) и ! (не).
Записать условие «a равно либо b, либо c» с их помощью можно следующим образом:
<
==Циклы==
Строка 161:
===Цикл for===
Цикл for описывается так:
<
{
//команды
}</
Первым объявляется любая переменная, доступная только для использования ее циклом, либо присваивается значение уже существующей переменной. Ее значение изменения прописывается в самом конце.
Команды в теле цикла выполняются до тех пор, пока условие выполняется, к примеру:
<
{
document.write(v+'</br>')
}</
===Цикл while===
Цикл While нужен тогда, когда надо выполнять какие-то действия до тех пор, пока условие верно:
<
{
// команды
}</
Например:
<
{
i = i + 1
document.write(v+'</br>')
}</
===Цикл do while===
От цикла while он имеет одно отличие - блок команд выполняется всегда от одного или более раз.
Например:
<
{
i = i + 1
document.write(v+'</br>')
}
while (i<100);</
===Цикл for in===
Этот цикл нужен лишь тогда, когда некоторая переменная поочередно должна принять все значения массива. Форма его записи такова:
<
{
// команды
}
</syntaxhighlight>
Перебирание всех элементов массива:
<
var a;
var arr = new Array;
Строка 214:
document.write(a): // будет выведено 'Учимся программировать вместе.'
}
</syntaxhighlight>
===Команды break и continue===
# break используется для выхода из цикла.
# continue - для новой итерации цикла.
Например выход из цикла при равенстве a = 3:
<
for (a=-2, a<100, a+1)
{
Строка 229:
document.write('a== ' + a):
}
</syntaxhighlight>
==Функции==
Функции оформляются вот так:
<
{
//команды
}</
Например:
<
var d;
var f=function(a, b, c)
{
d = a + b + c;
}</
Но функции могут также и возвращать значения с помощью оператора return:
<
{
//команды
return значение
}</
Например:
<
var d;
var f=function(a, b, c)
Строка 257:
return a + b + c;
}
d = f(1,2,3)</
=Ajax=
Ajax - технология, позволяющая обновить данные страницы, не обновляя страницу полностью. Используется в социальных сетях, таких как: «ВК», «Facebook» и других.
Строка 280:
==Представление данных==
Любые данные в JSON представляются двумя способами. Для массивов:
<
поле:значение
]
</syntaxhighlight>
И для объектов:
<
поле:значение
}
</syntaxhighlight>
Например:
<
"Имя":"Вася",
"Фамилия":"Петров",
]
</syntaxhighlight>
Данную структуру можно включить в объект:
<
{
"Дата регистрации":"сегодня",
Строка 305:
]
}
</syntaxhighlight>
==Конвертирование в строку JSON и наоборот==
В JS есть встроенная функция, конвертирующая содержание некоторой переменной в строку JSON - JSON.stringify().
Пусть имеем:
<
var a = {
"RegistrationDate":"today",
Строка 320:
}
JSON.stringify(a); // получим: '{"RegistrationDate":"today","Person":["Name":"Den","FriendName":Kolya"]}'
</syntaxhighlight>
Данный метод просто запишет содержание переменной в одну строку.
Противоположное действие имеет метод JSON.parse():
<
var a = JSON.parse('{"RegistrationDate":"today","Person":["Name":"Den","FriendName":Kolya"]}')
a.Person[0] // равно "Den"
</syntaxhighlight>
[[File:JSON1.jpg|frameless]]
|