Полезные заметки JavaScript

Автор: Aport Вторник, Январь 27th, 2015 Нет комментариев

Рубрика: Разное

Ознакомимся с несколькими полезных приемами программирования в JavaScript, вместо которых мы часто пишем намного более громоздкие конструкции.

 

Конвертирование переменных

Как ни странно, но иногда для конвертирования переменных одного типа в другой используют конструкторы объектов типа Array() или Number(). На самом деле правильнее и лучше (с точки зрения производительности) использовать примитивные типы данных:

var myVar = "3.14159",
 str = ""+ myVar,// в стринг (string)
 int = ~~myVar, // в интеджер (integer)
 float = 1*myVar, // во флоат (float)
 bool = !!myVar, // в булен - все непустые строки и числа кроме 0 будут true
 array = [myVar]; // в массив

Конвертирование в даты (new Date(myVar)) и регулярные выражения (new RegExp(myVar)) нужно делать с использованием конструкторов. Всегда используйте структуру /регулярное_выражение/флаги при создании регулярных выражений.

Замена всех вхождений подстроки в строку

Часто случается, что нужно заменить все вхождения какой-то строки в другую строку. Вместо громоздких конструкций лучше всего делать так:

var str = "foobarfoobar";
str.replace(/foo/g,"xxx");
// в итоге получиться str = "xxxbarxxxbar";

Передача аргументов функции

Когда у какой-то функции есть как обязательные, так и необязательные аргументы, то передавать проще только один объект вместо нескольких обычных аргументов:

function doSomething() {
 // Оставляем аргументы, если ничего не передано
 if (!arguments[0]) {
 return false;
 } 

 var oArgs = arguments[0]
 arg0 = oArgs.arg0 || "",
 arg1 = oArgs.arg1 || "",
 arg2 = oArgs.arg2 || 0,
 arg3 = oArgs.arg3 || [],
 arg4 = oArgs.arg4 || false;
} 

doSomething({
 arg1 : "foo",
 arg2 : 5,
 arg4 : false
});

Источник: vremenno.net

Для округление числа до нужной точности после запятой можно используется метод toFixed:

1.234.toFixed(2) = 1.23

Это аналог php-функции round.

 

Источник: yapro.ru

Передача аргументов функции

Когда у какой-то функции есть как обязательные, так и необязательные аргументы, то ее вызов может выглядеть как-то так:

function doSomething(arg0, arg1, arg2, arg3, arg4) {
 ...
} 

doSomething('', 'foo', 5, [], false);

Хотя на самом деле всегда проще передавать только один объект вместо нескольких обычных аргументов:

function doSomething() {
 // Оставляем аргументы, если ничего не передано 
 if (!arguments[0]) {
 return false;
 } 

 var oArgs = arguments[0]
 arg0 = oArgs.arg0 || "",
 arg1 = oArgs.arg1 || "",
 arg2 = oArgs.arg2 || 0,
 arg3 = oArgs.arg3 || [],
 arg4 = oArgs.arg4 || false;
} 

doSomething({
 arg1 : "foo",
 arg2 : 5,
 arg4 : false
});

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты