Синтаксис:
function FunctionName(arg,...) {блок операторів}
У мові JS всередині однієї функції не може використовуватися інша функція.
Для повернення функцією значення використовується необов'язковий оператор return, при якому потрібно вказати вираз:
return value;
Оператор return завершує виконання функції і повертає значення заданого виразу, якщо він є. Функція може повертати і масив значень.
Список значень аргументів, переданих у функцію, зберігається у масиві arguments[]. Загальна кількість аргументів зберігається у властивості arguments.length.
У описі аргументів не використовується оператор означення змінної var. Однак інтерпретатор автоматично його доставляє, а тому аргументи завжди мають локальну область видимості – тіло функції. Це означає, що всередині функції не можна змінити значення глобальної змінної, переданої через аргумент.
У функціях можна використовувати об’єкт this:
this[.property]
Значенням this є поточний об'єкт. Наприклад, у момент обробки події OnChange при зміні тексту поля введення this набуває значення об’єкта цього поля.
Масиви
Є два еквівалентних способи утворення масиву:
var a = new Array()
var a = []
Обидва способи можуть утворювати масиви зі значеннями:
var a = new Array("a",1,true)
var a = [("a",1,true]
Ці способи працюють однаково, крім оголошення виду new Array(10), коли у конструктора є єдиний аргумент-число. Таке оголошення утворить порожній масив (всі елементи undefined) довжиною 10.
Відлік елементів починається з нуля.
На відміну від мови C, у JS індексування елементів масиву не обов’язково послідовне. Напрклад, масив можна утворити так:
var a = []
a[1] = 1
a[9] = 2
Масив a буде займати пам’ять, потрібну лише для цих двох елементів. Однак властивість a.length поверне значення 10. У JS довжина масиву - це не кількість елементів, а максимальний цілий ключ + 1.
Додавати новий елемент можна таким способом:
a[a.length] = "новий елемент";
Масиви можна використовувати як чергу або стек. Методи push і pop додають або виймають значення з кінця масиву, а shift та unshift - з початку масиву.
Оскільки елементи масиву можуть мати довільний тип, нескладно моделювати дво- та більше мірні масиви.