Урок 6. Встроенные объекты. String

Объекты представляют собой программные единицы, обладающие некоторыми свойствами. Об объекте мы можем судить по значениям его свойств и описанию того, как он функционирует.

Встроенные объекты имеют фиксированные названия, свойства и методы. Свойства имеют имена и значения. Значение большинства свойств можно менять. Методы аналогичны функциям. Они могут принимать аргументы или нет.

Чтобы узнать значение свойства объекта, необходимо указать имя этого объекта и имя свойства, отделив их друг от друга точкой: имя_объекта.свойство.

Мы можем заставить объект выполнить тот или иной присущий ему метод. В этом случае также говорят о применении метода к объекту. Синтаксис соответствующего выражения такой: имя_объекта.метод(параметры).

Объект String (строка)

Создание строкового объекта

Для создания строкового объекта используют выражение следующего вида:

имя_переменной = new String ("строковое_значение")

Однако можно создавать строковый объект и с помощью обычного оператора присваивания:

имя_переменной = "строковое_значение"

Пример использования свойства length (показывает длину строки):

    mystr = "What is it?"
    x = mystr.length
    document.writeln(x)

Методы обработки строк

charAt (индекс) - возвращает символ, занимающий в строке указанную позицию.
Синтаксис: строка.charAt(индекс)
Индекс является числом, индекс первого символа равен 0.

    hi = "Hello world!"
    a = hi.charAt(0)
    b = hi.charAt(6)
    c = hi.charAt(11)
    document.writeln(a,b,c)

concat(строка) - конкатенация (склейка) строк.
Синтаксис: строка1.concat(строка2)
Этот метод действует так же, как и оператор "+" сложения для строк: к строке строка1 приписывается справа строка2.

    l = new String("abcd")
    b = "ABCD"
    document.writeln(l.concat(b))

substr(индекс [, длина]) - возвращает подстроку исходной строки, начальный индекс и длина которой указываются параметрами.
Синтаксис: строка.substr(индекс [, длина])

    // анализ адреса
    adr = "petersmith@mail.com"
    i = adr.indexOf("@")
    user = adr.substr(0,i)
    domen = adr.substr(i+1)
    document.writeln("User: ", user, " Domen: ",domen)

При обработке строк часто требуется вставить или заменить подстроки.
Создадим сами функцию вставки строки в исходную строку. Назовем ее insstr. Данная функция должна принимать три параметра: исходную строку s1, вставляемую строку s2 и индекс позиции вставки n.
Пример определения функции и ее вызова:

    function insstr(s1, s2, n) {
        return s1.slice(0,n) + s2 + s1.slice(n)
    }
    x = insstr("abcd", " ! ", 2)
    y = insstr("Sun Earth", " Moon", 3)
    document.writeln(x)
    document.writeln(y)