Заметки на JavaScript (в ECMAScript 5)

Назад

Численные методы

ВАР п = 13.687;
// Привести к ряду точки plavusa, с 2 десятичными знаками (округление)
Н.toFixed(2); // 13.69

Строковые методы

ВАР п = 13.687;

ВАР строка = «строка»
// Вывести символ по порядковому номеру
строку.chartAt(0); // «С»
// Количество символов
строку.длина(0); // 5 (считая от 0)
// Получаем подстроки
строку.подстрока(3); // «Инг»
строку.подстрока(3,5); // «в»

строка = «некоторые строки очень хорошо»
// Получаем подстроки с конца
строку.ломтик(-5); // «хорошо»

// Получаем подстроки, индекс 1Р, 2Р — число символов
строку.функцию substr(5,7); // «строка»

Индекс поиска // вхождений подстроки (поиск с начала строки)
строку.метод indexOf(«очень»); // 15
Индекс поиска // вхождений подстроки (поиск с конца строки)
строку.lastIndexOf(«очень»); // 15
// Заменить подстроку
строку.заменить(«является»,»не»); // «некоторые строки не очень хорошо»
// Разбивает строку в массив по символу (в данном случае пробел)
строку.сплит(» «); // [«некоторые», «строка»,»», «весьма», «хорошо»]
// Разрешить текст в верхний регистр
строку.метод touppercase(); // некоторые строки очень хорошо
// Разрешить текст в нижний регистр
строку.столоверчением(); // некоторые строки очень хорошо

Логические значения

// Присвоить значение 5, если истинно содержит значение true;
ВАР а = 0;
истинно = истинно;
истинно && (а == 5);
// Если someString пуст, он будет со значением «строка по умолчанию»
ВАР someString = «некая строка»;
ВАР newString = someString || «строка по умолчанию»;
// Тернарный оператор
ВАР х = 5,
текст = х > 5 ? «х больше 5» : х < 5 «х меньше 5» : «х = 5»

Преобразование типов

Количество(«111»);
Строки(123);
Логические(1); // верно
// Obrashenie преобразование в bool
!!5 // правда
!!0 // ложь
Преобразования // Presenoe в строку
123 + «» // «123»
Преобразования // Presenoe на номер
+ «123» // 123
+ «» // 0

ВАР количество = 12;
количество.метод toString(); // «12»
// В качестве параметра, вы можете указать номер системы (СИ)
ВАР количество = 5;
количество.метод toString(2); // «101»

parseInt(«75 пт»); // 75
parseInt(‘Военторга 12.33’) // 12
// Второй параметр-Си
parseInt(«5 Военторга», 2); // 101

parseFloat(«12.23 Военторга»); // 12.23

Циклы

// Цикл классический
для(ВАР я = 0; я < 10; я++){
консоль.журнал(я);
}
// пока
ВАР я = 10;
а (я < 10){
консоль.журнал(я);
я++;
}
в то время как (я -) {
консоль.журнал(я);
}
// не-а
консоли делать.журнала(я++); а (я < 10);

Функция

Объявление Функции //
функция goodStr(текст){
возврат текст + ‘хорошо’;
}
консоль.журнал(goodStr(«Вася»)); // Вася хороший

// Выражение Функции
функция дисп хорошая = (текст){
возврат текст + «хорошо»;
};
консоль.журнал(хорошая(‘Вася’)); // Вася хороший

// Объявляем параметр
функция дисп хорошая = (текст){
возврат текст + «хорошо»;
}(‘Вася’);
консоль.журнал(хорошая); // Вася хороший

// Получаем параметры
функции var myFunc = (текст){
консоль.журнал(аргументы); // [«текст», 11, 12, 13]
консоль.журнал(аргументы[1]); // 11
возврат текст;
};
myFunc(‘текст’,11,12,13);

// Анонимной функции (без имени сразу же вызывается)
функция спросить(вопрос, Да, нет) {
если (подтверждение(вопрос)) да()
еще нет();
}

спросить(
«Вы согласны?»,
функция() { Alert(«вы согласны».); },
функция() { предупреждение(«Вы не отменили казнь».); }
);

// Функция с обратным вызовом
функция дисп кнопку func = (обратного вызова){
ВАР текст = «Вася»;
обратного вызова(текст);
}

кнопку func(функция(х){
консоль.журнал(х + «хорошо»);
}); // Вася хороший

Пример закрытия в JS

кнопку func = (функция() {
ВАР счетчик = 0;

функция возврата () {
вернуть счетчик ++;
}
})();

ВАР счетчик = Функ;

консоль.журнал(счетчик()); // 0
консоль.журнал(счетчик()); // 1
консоль.журнал(счетчик()); // 2

Пример обработки ошибок

функции var расч = (Н) {
если(N > 10) бросьте новую ошибку(«Н должен быть не более 10»);
возвращение Н;
};

попробовать {
тепловычислитель(20);
} поймать (е) {
консоль.лог(«не удалось запустить скрипт:» + Эл.сообщение);
}
// Не удалось запустить скрипт: N не должно быть больше 10

Работа с объектом

// Объектного литерала
ВАР человек = {
имя: «Вася»,
возраст: 20,
пол: «мужчина»,
метод sayHello: функция () {
return «Привет»;
}
};

// Смены собственность
персоне.Возраст = 25;
// добавить свойство
персоне.работы = «веб-разработчик»;

// Выходные свойства
консоль.журнал(персоне.имя);
консоль.журнал(персона[«наименование»]);
консоль.журнал(персоне.метод sayHello());

// Удалить Свойства
удалить персоне.пол;

// Проверка на существование свойства
консоль.журнал(«пол» в любимом человеке);

Объекты: это, позвонить, применять, персонализация

УАК человека 1 = {
имя: «Вася»,
метод sayHello: функция () {
возвращение «Привет» + это.имя;
}
};

консоль.журнал(1, которое.метод sayHello()); // Привет Джон

// Другой пример

функция дисп sayHello2 = () {
возвращение «Привет» + это.имя;
};

ВАР лицо2 являются = {
название: «Виктор»,
sayHello2: sayHello2,
};

ВАР person3 = {
название: «Петр»,
sayHello2: sayHello2,
};

консоль.журнал(лицо2 являются.sayHello2()); // Привет Виктор
консоль.журнал(person3.sayHello2()); // Привет Петр

// Пример вызова
консоль.журнал(person3.sayHello2.вызов(лицо2 есть)); // Привет Виктор

// С аргументами
функция дисп sayHello3 = (слово) {
возвращение слово + «» + это.имя;
};

ВАР person4 = {
название: «Павел»,
sayHello3: sayHello3,
};

консоль.журнал(person4.sayHello3(«Привет»)); // Привет Павел
консоль.журнал(person4.sayHello3.вызов(лицо2 есть, «Привет»)); // Привет Виктор
// Контраст звонок, только что параметры в массиве
консоль.журнал(person4.sayHello3.применить(лицо2 являются, [«Boonjour»])); // Boonjour Виктор

// Вызывает функцию, и связывает его с объектом и не меняет первоначальную функцию
ВАР привязан = sayHello3.привязать(person4);
консоль.лог(граница(«Эй!»)); // Эй! Павел

Объекты: аксессоры и атрибуты свойств

// Методов доступа (GET и set)

ВАР человек = {
_name: «Вася»,
_age: 20,
узнать возраст(){
вернуть это._age;
},
установить возраст(значение){
это._age = значение < 0 ? 0 : значение > 100 ? 100 : значение;
}
};

человек.возраст = 125;
консоль.журнал(Человек.возраста); // 100

Атрибуты // собственность
консоль.журнал(объект.getOwnPropertyDescriptor(человек,»_name»));
консоль.журнал(объект.getOwnPropertyDescriptor(лица,»возраст»));

// Определения свойств / переопределить
Объект.defineProperty(человек, «пол»,{
значение: «мужчина»,
записи: накладные, // производственного
перечисли: значение false, // не выводить в цикле for, если false
настраивается: ложные // разрешить редактирование других атрибутов
});

консоль.журнал(Человек.пол); // мужчина
человек.пол = «женский»;
консоль.журнал(Человек.пол); // мужчина
консоль.журнал(«);

// Выполнить итерации через свойства объекта
для(собственность){
консоль.журнал(собственность);
}
// _name _age возраст

// Выходные свойства объекта
консоль.журнал(объект.ключи(человека)); //[«_name», «_age», «возраст»]

// Определение массовых характеристик / переопределить
ВАР а = {};
Объект.defineProperties(а,{
х:{
значение: 2,
записи: ложные
},
г:{
стоимость: 3,
записи: ложь,
},
Р: {
получим: функция () {
вернуть это.х * это.г
}
}
});
консоль.журнала (); / / {х: 2, г: 3}
консоль.журнала (.Р); // 6

// Отключить добавление новых свойств к объектам
Объект.preventExtensions(объект);
// Запретить удалять, добавлять, редактировать
Объект.уплотнения(параметр obj); // устанавливает настраиваемые для всех свойств false
// Только для чтения
Объект.заморозить(объект);

Объекты: прототипы и наследование

// Прототип
ВАР человек = {
конструктор: функция (имя, возраст, пол) {
это.имя = имя;
это.возраст = возраст;
это.пол = пол;
возвращение этого;
},
привет: функция () {
консоль.журнал(«Привет, меня зовут» + это.имя);
}
};

ВАР 1, которое, лицо2, являются, person3;

человека 1 = объект.создание(человек).конструктор(«Вася», 25, «мужской»);
лицо2 результат = объект.создание(человек).конструктор(«Петр», 19, «мужчина»);
person3 = объект.создание(человек).конструктор(«Иван», 34, «мужчина»);

консоль.журнал(1, которое.имя,лицо2, являются.имя, person3.имя); // Вася Петр Иван

// Проверить объект на прототип
консоль.журнал(Человек.isPrototypeOf(человека 1)); // верно

// Наследования

ВАР Webdeveloper = объект.создание(человек);
Webdeveloper.конструктор = функция (имя, возраст, пол, навыки) {
// Конструктор Человека
Человек.конструктор.применить(это, аргументы);
это.навыки = навыки || [];
возвращение этого;
};
// добавление метода
Webdeveloper.развивать = функция () {
консоль.журнал(«он работает»);
};

разработчик ВАР = объект.создать(Webdeveloper).конструктор(«Джон», 26, «мужской», [«РНР»,»АО»,»для SQL»]);
консоль.журнал(разработчик.навыки); // [«РНР», «АО», «для SQL»]
разработчик.разработка(); // работает