Javascript.RU

Функции

Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/function-basics.

В этой статье описаны функции Javascript на уровне языка: создание, параметры, приемы работы, замыкания и многое другое.

Существует 3 способа создать функцию. Основное отличие в результате их работы - в том, что именованная функция видна везде, а анонимная - только после объявления:

Именованные (FunctionDeclaration) Анонимные (FunctionExpression)
function имя(параметры) {
...
}
var имя = function(параметры) {

}
...
var имя = new Function(параметры, '...')
Именованные функции доступны везде в области видимости Анонимные - доступны только с момента объявления. Синтаксис new Function используется редко, в основном для получения функции из текста, например, динамически загруженного с сервера в процессе выполнения скриптов.
/* функция sum 
определена ниже 
*/
var a = sum(2,2)

function sum(x,y) {
	return x+y
}
/* будет ошибка, 
т.к sum еще не существует
*/
var a = sum(2,2)

var sum = function(x,y) {
	return x+y
}

В javascript функции являются полноценными объектами встроенного класса Function. Именно поэтому их можно присваивать переменным, передавать и, конечно, у них есть свойства:

function f() {
	...
}
f.test = 6
...
alert(f.test) // 6

Свойства функции доступны и внутри функции, так что их можно использовать как статические переменные.

Например,

function func() {
	var funcObj = arguments.callee

	funcObj.test++
	alert(funcObj.test)
}
func.test = 1
func()
func()

В начале работы каждая функция создает внутри себя переменную arguments и присваивает arguments.callee ссылку на себя. Так что arguments.callee.test - свойство func.test, т.е статическая переменная test.

В примере нельзя было сделать присвоение:

var test = arguments.callee.test
test++

так как при этом операция ++ сработала бы на локальной переменной test, а не на свойстве test объекта функции.

Объект arguments также содержит все аргументы и может быть преобразован в массив (хотя им не является), об этом - ниже, в разделе про параметры.

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

Переменные можно объявлять в любом месте. Ключевое слово var задает переменную в текущей области видимости. Если его забыть, то переменная попадет в глобальный объект window. Возможны неожиданные пересечения с другими переменными окна, конфликты и глюки.

javascript function

В отличие от ряда языков, блоки не задают отдельную область видимости. Без разницы - определена переменная внутри блока или вне его. Так что эти два фрагмента совершенно эквивалентны:

javascript function

Заданная через var переменная видна везде в области видимости, даже до оператора var. Для примера сделаем функцию, которая будет менять переменную, var для которой находится ниже.

Например:

function a() {
	z = 5 // поменяет z локально.. 

	// .. т.к z объявлена через var
	var z
}

// тест
delete z // очистим на всякий случай глобальную z
a()

alert(window.z)  // => undefined, т.к z была изменена локально

Функции можно запускать с любым числом параметров.

Если функции передано меньше параметров, чем есть в определении, то отсутствующие считаются undefined.

Следующая функция возвращает время time, необходимое на преодоление дистанции distance с равномерной скоростью speed.

mwsnap016.jpg

При первом запуске функция работает с аргументами distance=10, speed=undefined. Обычно такая ситуация, если она поддерживается функцией, предусматривает значение по умолчанию:

// если speed - ложное значение(undefined, 0, false...) - подставить 10
speed = speed || 10

Оператор || в яваскрипт возвращает не true/false, а само значение (первое, которое приводится к true).

Поэтому его используют для задания значений по умолчанию. В нашем вызове speed будет вычислено как undefined || 10 = 10.

Поэтому результат будет 10/10 = 1.

Второй запуск - стандартный.

Третий запуск задает несколько дополнительных аргументов. В функции не предусмотрена работа с дополнительными аргументами, поэтому они просто игнорируются.

Ну и в последнем случае аргументов вообще нет, поэтому distance = undefined, и имеем результат деления undefined/10 = NaN (Not-A-Number, произошла ошибка).

Непосредственно перед входом в тело функции, автоматически создается объект arguments, который содержит

  1. Аргументы вызова, начиная от нуля
  2. Длину в свойстве length
  3. Ссылку на саму функцию в свойстве callee

Например,

function func() {
    for(var i=0;i<arguments.length;i++) {
        alert("arguments["+i+"] = "+arguments[i])
    }
}
func('a','b',true)

// выведет
// arguments[0] = a
// arguments[1] = b
// arguments[2] = true

Свойство arguments похоже на массив, т.к у него есть длина и числовые индексы. На самом деле arguments не принадлежит классу Array и не содержит его методов, таких как push, pop и других.

Если все же хочется воспользоваться этими методами, например, чтобы вызвать другую функцию с теми же аргументами, но кроме первого, можно создать из arguments настоящий массив:

var args = Array.prototype.slice.call(arguments)
// .. теперь args - настоящий массив аргументов ..
args.shift()
...

Вызвать функцию для массива аргументов можно при помощи apply:

var func = function(a,b) { alert(a+b) }
var arr = [1,2]
func.apply(null, arr)  // => alert(3)

Функцию легко можно передавать в качестве аргумента другой функции.

Например, map берет функцию func, применяет ее к каждому элементу массива arr и возвращает получившийся массив:

var map = function(func, arr) {
    var result = [ ]
    for(var i=0; i<arr.length; i++) {
        result[i] = func(arr[i])
    }
    return result
}

Пример использования:

map(run, [10, 20, 30])  // = [1,2,3]

Или можно создать анонимную функцию непосредственно в вызове map:

// анонимная функция утраивает числа
map( function (a) { return a*3 } ,  [1,2,3])  // = [3,6,9]

Бывают функции, аргументы которых сильно варьируются.

Например:

// можно указать только часть аргументов
// не указанные - вычисляются или берутся по умолчанию
function resize(toWidth, toHeight,  saveProportions, animate)  {
	// значения по умолчанию
	saveProportions = saveProportions || true
	animate = animate || true
	toHeight = toHeight || ...
}

Вызов с необязательными параметрами приходится делать так:

resize(100, null, null, true)

Чтобы избежать лишних null и сделать код более понятным, используют нечто вроде "keyword arguments", существующих в Python и Ruby. Для этого много параметров пакуют в единый объект:

function resize(setup)  {
	// значения по умолчанию
	var saveProportions = setup.saveProportions || true
	var animate = setup.animate || true
	var toHeight = setup.toHeight || ...
}

Вызов теперь делается гораздо проще:

var setup = {toWidth: 100, animate: true}

resize(setup)
// или
resize({toWidth: 100, animate: true})

Так - куда понятнее. А если параметров больше 5, то вообще - единственный нормальный способ.

Кроме того, с объектом можно удобнее делать последовательности вызовов вроде:

var setup = {toWidth: 100, animate: true, saveProportions: false}

resize(setup)

setup.toWidth = 200
resize(setup)

Автор: Андрей Параничев, дата: 6 июля, 2008 - 19:05
#permalink

Конечно мне всё описанное в статье уже известно, но материал очень полезный.
Жаль, что в то время, когда я только начинал изучать программирование и JavaScript, не было таких статей...


Автор: Гость (не зарегистрирован), дата: 26 октября, 2023 - 02:09
#permalink

I want to express my gratitude for your valuable contribution. jumping shell


Автор: Marantz (не зарегистрирован), дата: 20 июля, 2008 - 22:02
#permalink

Очень внятно и полезно - СПАСИБО!


Автор: Dmitry A. Soshnikov, дата: 22 июля, 2008 - 22:35
#permalink

Да, статьи у тебя, Илья, как всегда, полезны. Доходчиво написано, особенно для новичков.

Есть маленькое уточнение:

> Именованные (FunctionDeclaration)

не каждая именованная функция является declaration'ом:

function testFunctionExpression() {
  
  // функция test, хоть и имеет имя,
  // все же является FunctionExpression
  // (в скобках может быть только expression)
  (function test() {});

  // соответственно, она не попала в скоп (точнее - в variable object)
  // т.к. FunctionExpression'ы не affect'ят на него
  alert(test); // даже не undefined, а падает по ecxeption'у

}

Автор: Гость (не зарегистрирован), дата: 20 января, 2015 - 11:59
#permalink

Для новичков..?
Вот я новичок. И я ничерта не понял) После второго абзаца мозг расплавился.
Хотя я пытался выяснить простую вещь: почему в функцию передается число и не передается текст? Но этого тут я так и не нашел =\


Автор: KorniloFF-ScriptS © (не зарегистрирован), дата: 29 марта, 2015 - 10:29
#permalink

В функцию в качестве аргумента элементарно передать как числовую, так и строковую переменную.

function plus(a,b) {return a+b};
alert(plus('что ', 'не так?'));

Автор: Shock (не зарегистрирован), дата: 24 июля, 2008 - 15:42
#permalink

Спасибо огромное! Очень долго искал вот это для своей JS библиотеки:

function resize(setup)  {
    // значения по умолчанию
    var saveProportions = setup.saveProportions || true
    var animate = setup.animate || true
    var toHeight = setup.toHeight || ...
}
var setup = {toWidth: 100, animate: true}
 
resize(setup)
// или
resize({toWidth: 100, animate: true})

Автор: Репозиторий суппозиториев (не зарегистрирован), дата: 25 февраля, 2011 - 16:22
#permalink

Поддержу, отличный метод


Автор: Ляпин Дмитрий (не зарегистрирован), дата: 6 августа, 2008 - 11:52
#permalink

Отличная статья


Автор: Герман Клюшин (не зарегистрирован), дата: 21 ноября, 2008 - 11:47
#permalink

А как все таки задавать значения параметров по умолчанию?
Только уже в самом теле функции?


Автор: Илья Кантор, дата: 21 ноября, 2008 - 14:49
#permalink

Да, только в теле функции


Автор: Игорь нео (не зарегистрирован), дата: 17 декабря, 2008 - 07:12
#permalink

Блин, а я как не разбиралась в Яве, так и не разбираюсь...Надо учиться


Автор: Гость2 (не зарегистрирован), дата: 12 марта, 2009 - 14:17
#permalink

Касательно :

// если speed - ложное значение(undefined, 0, false...) - подставить 10
speed = speed || 10

Я верю,что так и будет, но не понимаю здесь преобразование типов. Я так понимаю, что В правой части speed должно преобразовываться к Boolean и если он true, то второй опреанда 10 не вычисляется, но при этом и левой части должно присвоиться значение типа Boolean, а не того типа , которое имеет speed на входе в функцию. В чем я ошибаюсь и почему ?


Автор: Илья Кантор, дата: 12 марта, 2009 - 16:59
#permalink

Оператор || в яваскрипт возвращает не true/false, а само значение (первое, которое приводится к true).


Автор: Гость (не зарегистрирован), дата: 24 ноября, 2010 - 13:56
#permalink

или последнее, которое приводится к false


Автор: kefi, дата: 13 марта, 2009 - 14:26
#permalink

Объекты , передаются в функцию по ссылке, а как передать в функцию по ссылке параметры примитивных типов (Undefined , Null, Boolean, String, Number ), чтобы можно было их изменить в функции ?


Автор: Илья Кантор, дата: 13 марта, 2009 - 23:57
#permalink

Никак. Элементарные значения не передаются по ссылке, только объекты, к которым также относятся массивы, даты и т.п.

Здесь javascript ведет себя так же, как, например, java/php5


Автор: Xnoyer (не зарегистрирован), дата: 9 июня, 2011 - 14:07
#permalink

А вот и неправда, можно привести их к object и передать в функцию, тогда они будут переданы по ссылке


Автор: B@rmaley.e><e, дата: 10 июля, 2011 - 11:49
#permalink

И тогда они не будут примитивными. Отличная логика.


Автор: nazar-pc (не зарегистрирован), дата: 10 июля, 2011 - 00:52
#permalink

PHP5 (или даже PHP4, хотя не уверен, не писал на нём чисто) прекрасно передает переменные по ссылке, но по умолчанию по ссылке передаются только объекты и ресурсы (не массивы), так что сравнение как минимум не корректное.


Автор: kefi, дата: 23 апреля, 2009 - 21:20
#permalink

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


Автор: Леонид Евстигнеев, дата: 27 мая, 2009 - 15:31
#permalink

Насчёт заклинания:

var args = Array.prototype.slice.call(arguments)
// .. теперь args - настоящий массив аргументов ..
args.shift()
...

Хотелось бы иметь либо подробное разъяснение, либо ссылку на место где можно читать про соответствующую магию.
Я так полагаю второе предпочтительнее, т.к. это выходит за рамки статьи.


Автор: Mirash (не зарегистрирован), дата: 13 сентября, 2009 - 21:27
#permalink

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


Автор: Булат (не зарегистрирован), дата: 23 августа, 2009 - 11:49
#permalink

Вопрос по поводу проставления булевых значений по умолчанию в этом куске кода:

// можно указать только часть аргументов
// не указанные - вычисляются или берутся по умолчанию
function resize(toWidth, toHeight, saveProportions, animate) {
// значения по умолчанию
saveProportions = saveProportions || true
animate = animate || true
toHeight = toHeight || ...
}

Что будет если вызвать эту функцию со следующими параметрами?

resize(100, null, false, true)

Казалось бы, если учесть следующее утверждение:

// если speed - ложное значение(undefined, 0, false...) - подставить 10
speed = speed || 10

то значение параметра saveProportions будет вычислено как false || true == true, хотя в данном случае мы хотели, чтобы saveProportions равнялось false.

Я правильно понимаю?


Автор: Гость (не зарегистрирован), дата: 15 сентября, 2009 - 08:57
#permalink

Да, Ты понимаешь правильно
пиши так:
function myFunc(s)
{
if (typeof s == "undefined") s = "default value for s";
alert(s);
};


Автор: Гость (не зарегистрирован), дата: 15 декабря, 2009 - 20:18
#permalink

Не понятно про имена функций при вызове по ссылке. Мы можем сослатся на функцию вот так:

var myFunc = function(val)
{
     alert(val);
}

myFunc('Hello'); // выдаст Hello

Тоесть мы переменную myFunc фактически приравниваем к функции.
Но мочему тогда нельзя сделать вот так?

function myFunc(val)
{
    alert(val);
}

var someVar = "myFunc";

someVar('Hello');

Вовсяком случае у меня этот код не работает.
Как быть если имя нужной функции я вычисляю и результат помещаю в строковую переменную? Тоесть строковая переменная содержит имя нужной мне функции. При попытке вызова как напрямую, так и через someVar.call() / someVar.apply() - получаю ошибку. Не ужели только через eval(someVar+"()") ?


Автор: Гость (не зарегистрирован), дата: 16 декабря, 2009 - 01:27
#permalink

Привет. Присвоение значения переменной надо делать без кавычек:
var someVar = myFunc;


Автор: Гость (не зарегистрирован), дата: 16 декабря, 2009 - 01:43
#permalink

Спасибо за ответ, но.... :-)

Суть именно в том, что в кавычках вычесляется имя функции, которую нужно запустить. Кавычки тут не зря. К примеру:

function myFunc1(val){...}

function myFunc2(val){...}

var someVar = "myFunc" + 1; 
// или 
var someVar = "myFunc" + 2

;

Это просто пример, но суть думаю понятна - имя функции вычесляется динамично.
Как в таком случае можно запустить "вычесленную" функцию? Пока я использу eval(), но есть ли более красивое решение?


Автор: Гость (не зарегистрирован), дата: 16 декабря, 2009 - 13:24
#permalink

Только если записывать ф-ию в хеш (или объявлять ее глобально, что почти тоже самое: она попадет в объект window).


Автор: Гость (не зарегистрирован), дата: 8 июня, 2010 - 22:14
#permalink

попробуй new Function для этого случая


Автор: xkav (не зарегистрирован), дата: 21 сентября, 2010 - 22:54
#permalink

Можно так сделать:

function myFunc1(){alert(1);}
function myFunc2(){alert(2);}
var someVar = window["myFunc"+1];
someVar(); // выведет 1

Автор: K313, дата: 7 марта, 2012 - 12:05
#permalink

eval('myFunc'+1+'();')


Автор: jack128 (не зарегистрирован), дата: 17 января, 2010 - 00:31
#permalink

пример к "Сворачивание параметров в объект" не очень хороший честно говоря.

вполне можно просто вызвать resize(100) и все оставшиеся аргументы возьмутся по умолчанию.
А сворачивать аргументы в объект имеет смысл если часто нуно изменять например 3 и пятый аргумент на отличные от умалчиваемых.


Автор: Гость (не зарегистрирован), дата: 28 мая, 2010 - 22:52
#permalink

Нигде не могу найти, что означает такая запись:

(function() {
  ...
})();

Автор: Гость (не зарегистрирован), дата: 1 июня, 2010 - 14:52
#permalink

Может это вызов функции, которую вернёт внутренний function?
Только зачем так...


Автор: Гость (не зарегистрирован), дата: 8 июня, 2010 - 22:17
#permalink

функция без имени создаётся и сразу вызывается.
Полезно для упрятывания от посторонних локальных переменных, и ещё из неё можно выйти через return - чего нельзя сделать, если код функции записать непосредственно.


Автор: Гость (не зарегистрирован), дата: 28 января, 2011 - 16:55
#permalink

это анониманая функция.
если сделать var f = function(){}; - это тоже создаст анонимную функцию но присврет сылку на нее локальной переменой var. () после функции - запуск ее на выполнение.
nта же констукция коорая расматриваеться создает свою область видимости (скоуп), что позволяет (как и сказал предыдущий оратор) использовать переменные не опасаясь что где-то в коде выше уже кто-то их использует перменнные с таким же именем - вообще это пример хорошего тона.


Автор: Гость (не зарегистрирован), дата: 2 августа, 2010 - 19:24
#permalink

Здравствуйте.
Скажите пожалуйста сколько значений может содержать переменная в функции в javascript?
Вот пример скрипта:
function dateString (date, string) {
var year=date.getFullYear();
var month=date.getMonth();
string = string.replace(/%Y/g, year);
string = string.replace(/%y/g, month);
return string;
}
......................

var today = new Date();
var message = dateString(today, 'Today is %Y, %y');
document.write(message);
Мне непонятно почему и как переменная string возвращает два значения (согласно условиям двух регулярных выражений). Ведь насколько мне известно с помощью return функция может возвращать лишь одно значение.
С уважением Василий.
P.S. Прошу не судить строго, возможно вопрос покажется чересчур наивным, но на JavaScript подсел не так давно и это уже начинает сильно увлекать, интересный язык.


Автор: nikvasi (не зарегистрирован), дата: 8 августа, 2010 - 23:55
#permalink

Дело в том, что функция может возвращать объекты в которых множество переменных, например a.val1=1; a.val2=1; и тд
А объект то один


Автор: MF (не зарегистрирован), дата: 18 августа, 2010 - 21:36
#permalink

Про область видимости хотелось бы узнать где она тогда начинается и заканчивается для var, какая же она локальная если до нее можно из-за пределов блока дотянуться ?


Автор: john07, дата: 24 сентября, 2010 - 22:17
#permalink

Поддерживаю вопрос. Совершенно не раскрыт.
Вот кусок кода

$(document).ready(function(){
	var $loading = $('<img src="loading.gif" alt="loading">');
	$('.dialog').each(function() {
		var $dialog = $('<div></div>').append($loading.clone());
		var $link= $(this).one('click', function() {
			$dialog.load($link.attr('href'),initForm)
				.dialog({
					title: $link.attr('title'),
					width: 788,
					height: 640,
					modal:true
				});	
			$link.click(function() {
				$dialog.dialog('open');
				return false;
			});
			return false;
		});
	});
 });

Мне непонятно, например, каким образом анонимная функция

$link.click(function() {
				$dialog.dialog('open');
				return false;
			});

получает значение $dialog при вызове по клику.


Автор: Гость (не зарегистрирован), дата: 28 июня, 2011 - 15:51
#permalink

Это обычная перемення которая выше по коду обявлена
var $dialog = $('

').append($loading.clone());


Автор: Гость (не зарегистрирован), дата: 31 августа, 2010 - 09:38
#permalink

Наишите про return. Для чего оно? Когда используется, а когда нет?


Автор: Гость (не зарегистрирован), дата: 30 сентября, 2010 - 18:01
#permalink

Не могу понять что тут происходит: Array.prototype.slice.call(arguments)
Я знаю что Array.prototype.метод(свойство) = реализация(значение) добавление метода(свойства) к статическому объекту Array. Slice() применяется к массивам для формирования выборки текущего массива. Call применяется к объекту функции для ее вызова. А вот что происходит в Array.prototype.slice.call(arguments) не могу понять???


Автор: B@rmaley.e><e, дата: 1 октября, 2010 - 21:01
#permalink

arguments конвертируется в полноценный массив.


Автор: Гость (не зарегистрирован), дата: 13 октября, 2010 - 05:28
#permalink

Здравствуйте! Хотел бы немного раскрыть тему:
""""""""""""""""""""""""""""""""""""
В примере нельзя было сделать присвоение:
var test = arguments.callee.test
test++

так как при этом операция ++ сработала бы на локальной переменной test, а не на свойстве test объекта функции
""""""""""""""""""""""""""""""""""""
Как я понял, это происходит из-за того, что даже если назначить переменной arguments.callee.test ссылку на объект, то далее при любых операциях с ним, например test++, эта переменная test превратится в значение, то есть простой number (в данном случае), а не в наследник object-а. Правьте, если не прав:)


Автор: elser (не зарегистрирован), дата: 2 сентября, 2011 - 23:11
#permalink

для простых типов справедливо следующее правило:

var v1 = "some string"; 
var v2 = v1;
var v2 = "other string" // значение v1 не изменится

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

var a1 = [1,2,3]; 
var a2 = a1;
var a2[0] = 2 // значение a1[0] тоже изменится

var o1 = {a:1, b:2, c:3}; 
var o2 = o1;
var o2.a = 2 // значение o1.a тоже изменится

это происходит потому, что объекты и массивы передаются по ссылке а не по значению
соответственно если в вашем случае надо делать так:

var test = arguments.callee
test.test++

Автор: Гость (не зарегистрирован), дата: 2 апреля, 2012 - 16:59
#permalink

можно как нибудь проще?


Автор: Гость (не зарегистрирован), дата: 13 октября, 2010 - 06:36
#permalink

Прикольно так то:-D Можно сделать подобие ООП, например, вот код:
//////////////////////////////////////////////////////////
function simpleFunction() {
// Создали машинку
var car = createCar();
// Указали, что это грузовик
car.type = "грузовик";
// Поехали!
car.doRun();
}

function createCar() {
// Типа объявление переменной
var type = "";

// Типа объявление метода
var doRun = function() {
alert("Я " + car.type + " и я поехал!");
}

// Типа подобие конструктора
var car = { type: type, doRun: doRun };
return car;
}
//////////////////////////////////////////////////////////
Ну это просто так мысли вслух:)


Автор: Гость (не зарегистрирован), дата: 13 октября, 2010 - 06:39
#permalink

Замечания к своему же коду:
1. Инкапсулирование - можно через getter/setter.
2. Полиморфизм - можно сделать, тока муторно (по сравнению с чисто ООП языками).
3. Ну и там всякие области видиомости тож непонятно как.


Автор: nazar-pc (не зарегистрирован), дата: 10 июля, 2011 - 01:04
#permalink

А JavaScript не чисто ООП язык О_о?????
В нём даже функции и простые (например string) переменные - объекты, комментарий вообще мимо по-моему.
То что написано - лишь жалкое подобие класса.


Автор: B@rmaley.e><e, дата: 10 июля, 2011 - 11:41
#permalink

ООП в JS не такое, как, скажем, в Java / C++ / PHP.
В JS, например, нет классов (и, следственно, интерфейсов), специфическое наследование. Подробнее тут.


Автор: Katya (не зарегистрирован), дата: 13 ноября, 2010 - 12:12
#permalink

Подскажите, плиз, на что в данной функции будет ссылаться this? а то я только начала разбираться с JS...

function addHandler() {
for (i = 0; i < CascadingDropdowns.length; i++) {
if(CascadingDropdowns[i].parentLookup.isDropDown) {
CascadingDropdowns[i].parentLookup.Object.onchange = function() { FilterChooicesForMyChild(this); }
}
else {
CascadingDropdowns[i].parentLookup.Opthid.onpropertychange = function() { FilterChooicesForMyChild(this); }
}
alert(CascadingDropdowns[i]);
}
setupComplete = true;

}


Автор: B@rmaley.e><e, дата: 14 ноября, 2010 - 00:47
#permalink

Внутри обработчиков событий this будет ссылаться на объект, к которому эти обработчики присоединены.


Автор: Репозиторий суппозиториев (не зарегистрирован), дата: 25 февраля, 2011 - 15:54
#permalink

При добавлении через attachEvent в MSIE это не так.


Автор: Гость (не зарегистрирован), дата: 13 января, 2011 - 01:41
#permalink

-- В отличие от ряда языков, блоки не задают отдельную область видимости.

блоки это {} ? или что то другое ? а то тогда не понятно что же задает область видимости?


Автор: Leopardoff, дата: 24 мая, 2011 - 17:10
#permalink

Я так понял, что область видимости задают функции. А если просто {} - то нет.
Может я и неправильно понял...


Автор: abc_ua, дата: 16 февраля, 2011 - 01:31
#permalink

Помогите пожалуйста:

Как на событие повесить выполнение функции с передачей в нее параметров?

$("area").bind("mouseover", on (this)); ------ Не работает

function on (param) {
...
}


Автор: monolithed, дата: 17 февраля, 2011 - 17:56
#permalink
function foo(arg) {
    var result = arg*arg
    alert(result);
}

document.getElemtentById('a').onclick = function() {
    foo(2);
    return false;
};

если jQuery используется, то так:

function foo(arg) {
    var result = arg*arg
    alert(result);
}

$('#a').click(function(){
    foo(2);
    return false;
});

Автор: abc_ua, дата: 18 февраля, 2011 - 00:28
#permalink

Спасибо!


Автор: Репозиторий суппозиториев (не зарегистрирован), дата: 25 февраля, 2011 - 15:49
#permalink

"Заданная через var переменная видна везде в области видимости, даже до оператора var."
Это как так?

alert(i);
var i=10;
alert(i);

Автор: Репозиторий суппозиториев (не зарегистрирован), дата: 25 февраля, 2011 - 16:04
#permalink

То есть так: по сути фраза правильная, но требует пояснений, что undefined - это значит видна, но не имеет определенного значения.


Автор: Гость (не зарегистрирован), дата: 18 марта, 2011 - 22:44
#permalink

Здравствуйте!
Встречаю иногда вот такую конструкцию:

var somefunc=function(){
var id = 'tt';
...
return{
show:function(){
...
},
hide:function(){
...
}
};
}();

Используется она вот так:

somefunc.show();

Что это, зачем ? Почему просто не использовать объект ?
Почему после завершающей фигурной скобки стоит () ?
Где про это можно почитать ?


Автор: Leopardoff, дата: 24 мая, 2011 - 16:58
#permalink

Почему не используется объект - это вопрос тем, кто писал код. Скорее всего здесь функция, чтобы передать доп. параметры.
А () - это оператор вызова функции. Соответственно, всё это выражение возвращает объект, который присваивается переменной somefunc, а потом происходит обращение к его свойству.


Автор: Гость (не зарегистрирован), дата: 30 августа, 2011 - 14:32
#permalink

Это же замыкания - для того чтобы в функциях somefunc.show() и somefunc.hide() была определена переменная id не глобальная


Автор: lapshukov (не зарегистрирован), дата: 4 апреля, 2011 - 13:36
#permalink

недавно чисто интуитивно для статик переменной использовал this, почитал статью дошел до места http://javascript.ru/basic/functions#funkcii---obekty, и понял - что что то я не то сделал... чем грозит использование this в подобных целях?


Автор: lapshukov (не зарегистрирован), дата: 4 апреля, 2011 - 13:43
#permalink

екзампл к предыдущему комменту

function my() {
    if(this.count)this.count++;
    else this.count = 1;
}
my();
my();
my();

Автор: lapshukov (не зарегистрирован), дата: 4 апреля, 2011 - 13:47
#permalink

дошел в чем проблема, глобальная видимость этой переменной, извините за спам


Автор: Marwell, дата: 10 мая, 2011 - 07:14
#permalink

Подскажите, после отработки функции она находится в памяти и может мешать другим функциям? И как можно принудительно выгрузить из памяти функцию?


Автор: Leopardoff, дата: 24 мая, 2011 - 17:06
#permalink

Вообще, я знаю, что в js нет управления памятью (слишком жирно было бы), но сборка мусора есть. Поэтому функция может быть выгружена из памяти, если на нее будут удалены все ссылки. Пример:

function r(){}
alert(r);
window.r = null;
alert(r);

Автор: raymank26 (не зарегистрирован), дата: 29 июня, 2011 - 21:14
#permalink

Так.. объекты и примитивные типы передаются в функцию только по значению. Никакой передачи по ссылке объектов не существует.Автор, поправь статью. Эта проблема затронута в книге Professional JavaScript for Web Developers.


Автор: Гость (не зарегистрирован), дата: 31 августа, 2011 - 15:06
#permalink

Насчет Вызывание функцию для массива аргументов можно при помощи apply:

var func = function(a,b) { alert(a+b) }
var arr = [1,2]
func.apply(null, arr) // => alert(3)

Почему в примере аргумент функции null? и как этот пример выводит 3? Можете разъяснит?

Спасибо.


Автор: Гость (не зарегистрирован), дата: 4 ноября, 2011 - 16:36
#permalink

На сколько я знаю, дело в функции apply. Первым параметром для нее является контекст обьекта, который в данном случае может быть null ( будем использован глобальный контекст ). А вторым аргументом идет массив параметров для той же функции func. В результате этот массив и интерпретируется как а и b.


Автор: Гость (не зарегистрирован), дата: 21 ноября, 2011 - 10:45
#permalink

А как в качестве аргумента функции JS передать массив сформированный в php скрипте.
Если в теле функции писать просто arrayArg[0] и т.д. то это не работает


Автор: Бездомный (не зарегистрирован), дата: 22 января, 2012 - 22:28
#permalink

Народ подскажите плиз, как подключить ява-скрипт на странице, путем нажатия кнопки юзером на сайте?


Автор: K313, дата: 7 марта, 2012 - 12:19
#permalink
onclick=function(){
var scrs=document.getElementsByTagName('SCRIPT'); 
for(var i=0;i<scrs.length;i++){if(scrs[i].src=='my_script.js')return false;} 
var sc=document.createElement('SCRIPT'); 
document.getElementsByTagName('HEAD')[0].appandChild(sc); 
sc.src='my_script.js';
}

Автор: Гость (не зарегистрирован), дата: 19 апреля, 2012 - 22:53
#permalink

В статье ошибка:
{
var i=0;
}

эквивалентно !!! ошибка

var i=0;
{

}

надо

var i;
{
i=0;
}


Автор: patya (не зарегистрирован), дата: 20 августа, 2012 - 18:22
#permalink

Я бы не назвал это так громко - ошибкой . Это вообще не ошибка - показано, что переменная видна как в скобках, так и за в обоих случаях, независимо в каком месте она объявлена, что и требовалось.


Автор: Гость (не зарегистрирован), дата: 5 марта, 2013 - 20:20
#permalink

чем отличаются
( function(){ } )() - круглые скобки снаружи
от
( function(){ }() ) - внутри


Автор: Гость (не зарегистрирован), дата: 14 июня, 2013 - 03:27
#permalink

ничем


Автор: Max_Cohen (не зарегистрирован), дата: 4 мая, 2013 - 12:21
#permalink

Привет!
Почему Я не могу получить значение return в переменную aname?
Выводит undefined.

function at1cx(id){
	var aname=aajax(id);
}
function aajax(id){
	var a=new XMLHttpRequest();
	var b=false;
	a.open("GET","a.php?a="+id.value,true);
	a.onreadystatechange=function(){
		if(a.readyState==4)
			if(a.status==200){
				aspan.innerHTML=a.responseText;
				if(a.responseText>0)
					return 'F';
				else
					return 'T';
			}
	}
	a.send(null);
}

А как получить значение return?


Автор: Гость (не зарегистрирован), дата: 4 мая, 2013 - 19:29
#permalink

a.status не 200


Автор: classic-elite (не зарегистрирован), дата: 23 января, 2015 - 19:13
#permalink

Ваш return возвращает значение НЕ из функции aajax() (как Вы, должно быть, предполагали), а из анонимной функции, присвоенной методу onreadystatechange.
а функция aajax() вообще не возвращает значения.


Автор: quint (не зарегистрирован), дата: 14 мая, 2013 - 10:35
#permalink

Подскажите а можно ли переменной присвоить картинку а потом вызывать эту картинку через переменную, если можно то как.


Автор: im2002, дата: 27 мая, 2013 - 14:21
#permalink

люди подскажите практический пример использования callee, если можно не применительно к web. я "написал"
function test()
{
var funcObj = arguments.callee;
funcObj.t = arguments.length; // определяем свойство t
return funcObj.t;
}
v = test("xcd", 34, false);
WScript.Echo("Функция была вызвана с " + v + " аргументами");

только непонятно как/в каком случае полезно использовать callee???


Автор: Гость (не зарегистрирован), дата: 27 мая, 2013 - 14:29
#permalink

Очень подробное описание с примерами

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Functions_...


Автор: Гость (не зарегистрирован), дата: 17 июня, 2013 - 09:20
#permalink

Доброго дня! Допоможіть будь ласка. Є два діва з текстом, колір тексту ми не знаємо. при кожному натисканні на кнопку кольри текстів міняються між собою. Потрібно описати JS.


Автор: lancer, дата: 21 июля, 2013 - 13:09
#permalink

Переведите на русский.


Автор: Гость (не зарегистрирован), дата: 2 сентября, 2013 - 07:06
#permalink

var имя = function(параметры) {

}
это не анонимные функции, анонимные это function(параметры) {…}


Автор: sergej_savelev, дата: 20 сентября, 2013 - 17:01
#permalink

Почему отображает undefined?:

function sc(abs){
        abs = abs || 'z-index';
        $('.menu>li>div:first').css(abs)
    }
    
    alert( sc() )

Было бы удобно далее делать так:

$('<div class="menupanel"><div class="left"></div><div class="right"></div></div>').appendTo('body').css({
        position:'absolute',
        zIndex: sc('z-index'),
        left: sc('left'),
        top: sc('top'),
        width: sc('width'),
        height: sc('height'),
        background: 'white'
    });

Автор: Гость (не зарегистрирован), дата: 18 февраля, 2014 - 13:42
#permalink
speed = speed || 10

Не будет работать с undefined.


Автор: Владислав Антонович (не зарегистрирован), дата: 10 марта, 2014 - 20:49
#permalink

Есть функция, которая находит html элементы, берет их значение, меняет, заменяет значение. Когда происходит обновление странички ajax'ом, функция видит только старые элементы - новых просто нет. Как сделать так, чтобы функция корректо работала с новыми элементами?

Предполагаю что дело в том, что html элементы находятся функцией единожды - при ее создании. Значит мне нужно переобъявлять функцию?

Прошу js-гуру помочь!


Автор: котофей (не зарегистрирован), дата: 27 марта, 2014 - 15:06
#permalink

В firefox, из HTML-странички, вызвал testSum из кода:

var sum = function(a,b) {
alert(a+b)
}

var testSum = function() {
var arr1 = [1,2,3]
var arr2 = [4,5,6]
var arr3 = [7,8,9]
sum.apply(arr1,arr2,arr3)

Получил результат 7, т.е. функция sum получила два первых параметра из второго массива. Пробовал с другими количествами массивов и параметров, с разными длинами массивов. Понимания как работает apply это не прибавило. Не могли бы Вы прояснить как работает apply, если не трудно?
Заранее благодарен.


Автор: Гость с юга (не зарегистрирован), дата: 27 июня, 2014 - 10:32
#permalink

котофей,
"метод" apply обрабатывает два параметра
- контекст выполнения (англ. scope);
- аргументы (параметр должен быть массивом);
Остальные параметры игнорируются. Для иллюстрации изменим Ваш пример.

(function(a,b){
  console.log(this);      // первый параметр в вызове apply
  console.log(arguments); // второй параметр в вызове apply
  
  return a+b
}).apply(
  [1,2,3], // контекст, в вызывемой функции - this 
  [4,5,6], // массив параметров, в вызываемой функции - arguments
  [7,8,9]  // не обрабатывается, как и все последующие параметры
);

Автор: котофей (не зарегистрирован), дата: 27 марта, 2014 - 15:08
#permalink

извините, не 7, а 9, конечно. 4+5 = 9.


Автор: Гость (не зарегистрирован), дата: 18 мая, 2014 - 13:37
#permalink

Что эффективнее (быстрее): использовать в теле функции глобальную переменную (как неизменяемую величину) или эту глобальную передать функции как параметр?


Автор: РусланИКС (не зарегистрирован), дата: 20 ноября, 2014 - 10:34
#permalink

Помогите понять как расшифровать такую запись

function myhash(b,e,f){(f='')||(e=window)&&(b||(b=e[18])));
f+=b;return f}

Интересует вот это - (f='')||(e=window)&&(b||(b=e[18])));
Что здесь объявляется или какие условия что выполняют?


Автор: Bokal (не зарегистрирован), дата: 20 декабря, 2014 - 09:23
#permalink

>встроенного класса Function
- в JavaScript нет классов - это язык прототипный)


Автор: Гость (не зарегистрирован), дата: 6 апреля, 2016 - 13:58
#permalink

Подскажите как сделать чтоб звук воспроизводился сразу при попытке закрытия окна?

window.onbeforeunload = function() {
  var audio = new Audio(); // Создаём новый элемент Audio
  audio.src = '1.mp3'; // Указываем путь к звуку "клика"
  audio.autoplay = true; // Автоматически запускаем
    
return "подождите";

  }

ЗВук воспроизводиться только после закрытия этого окна(


Автор: Imran (не зарегистрирован), дата: 22 октября, 2017 - 18:02
#permalink

В объявлении function f_8(gold,silver,cash,stock,commercial,future_income,debts) много переменных.
Когда переменных больше двух, то нужно писать вот так
- объвляем function f_8(props)
- вызываем так:
f_8 ({
gold: 1,
silver: 1,
cash: 1,
stock: 1,
commercial: 1,
future_income: 1,
debts: 1,
})

- внутри используем их так:
props.gold, props.siler и так далее.
Пожалуйста можете это мне на примере показать, я вообще не врубаюсь, что мне говорит этот человек


Автор: Гость (не зарегистрирован), дата: 4 ноября, 2017 - 12:43
#permalink

Очень подробно четко красиво очень рад то что я нашел этот сайт спасибо Админам!


Автор: Гость (не зарегистрирован), дата: 9 августа, 2018 - 18:31
#permalink

В статье "В javascript функции являются полноценными объектами" - не корректно. Объект не копируется при присваивании переменной.


Автор: Гость (не зарегистрирован), дата: 4 октября, 2018 - 12:58
#permalink

Функции полезные, но разрабатывать на Javascript можно еще быстрее и эффективнее.


Автор: Ryui (не зарегистрирован), дата: 23 декабря, 2019 - 07:16
#permalink

Если функции передано меньше параметров, чем есть в определении, то отсутствующие считаются undefined. moto x3m free


Автор: nhatvuong (не зарегистрирован), дата: 3 января, 2020 - 10:12
#permalink

Your feedback helps me a lot, A very meaningful event, I hope everything will go well candy crush soda


Автор: nojesip (не зарегистрирован), дата: 28 января, 2020 - 18:46
#permalink

I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement the concept. Thank you for the post.
causas de los ataques de ansiedad


Автор: jams (не зарегистрирован), дата: 16 февраля, 2020 - 11:10
#permalink

Thank you for taking the time to publish this information very useful!
Digital Marketing Adelaide


Автор: farhan (не зарегистрирован), дата: 23 марта, 2020 - 11:10
#permalink

Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post.
hire indonesian maid


Автор: farhan (не зарегистрирован), дата: 23 марта, 2020 - 11:10
#permalink

Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post.
hire indonesian maid


Автор: ГостьD365 Finance and Operations Credit Card Processing (не зарегистрирован), дата: 26 апреля, 2020 - 22:46
#permalink

Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts.


Автор: Гость (не зарегистрирован), дата: 15 июля, 2020 - 17:49
#permalink

I just want to let you know that I just check out your site and I find it very interesting and informative..
gel antibacterial hand sanitizer Wholesale


Автор: john bond (не зарегистрирован), дата: 24 июля, 2020 - 09:41
#permalink

Thanks a lot for sharing us about this update. Hope you will not get tired on making posts as informative as this.


Автор: john bond (не зарегистрирован), дата: 24 июля, 2020 - 09:42
#permalink

I admire what you have done here. I like the part where you say you are doing this to give back but I would assume by all the comments that this is working for you as well.
best natural products websites


Автор: john bond (не зарегистрирован), дата: 24 июля, 2020 - 13:03
#permalink

Thanks so much for this information. I have to let you know I concur on several of the points you make here and others may require some further review, but I can see your viewpoint.
The Auto Negotiator


Автор: john bond (не зарегистрирован), дата: 24 июля, 2020 - 21:33
#permalink

An fascinating discussion is value comment. I think that it is best to write extra on this matter, it won’t be a taboo topic however generally people are not enough to talk on such topics. To the next. Cheers
cuentos infantiles cortos


Автор: john bond (не зарегистрирован), дата: 30 июля, 2020 - 00:55
#permalink

Great knowledge, do anyone mind merely reference back to it
MDMA WITHOUT RX


Автор: johnb6 (не зарегистрирован), дата: 18 августа, 2020 - 17:56
#permalink

Awesome and interesting article. Great things you've always shared with us. Thanks. Just continue composing this kind of post.
concept map maker


Автор: john bond (не зарегистрирован), дата: 31 августа, 2020 - 17:17
#permalink

This type of message always inspiring and I prefer to read quality content, so happy to find good place to many here in the post, the writing is just great, thanks for the post.
Guia de empresas


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:46
#permalink

Wow the blog you give us is amazing, no wonder many people want to read this. https://celebrityinsider.org/


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:48
#permalink

I will recomend this blog to all of my friends. Great article.
https://happygamer.com/


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:50
#permalink

Thank you for this inspiring blog. I wait for more
https://ballstepded.com/


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:50
#permalink

I learned so much from this blog. Good inforamtion. https://fixoserror.com/


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:50
#permalink

I wait for more.Great article.
https://premiereretail.com


Автор: bella airtow (не зарегистрирован), дата: 20 апреля, 2022 - 21:30
#permalink

Here at Bel Air Tow Truck, we strive to provide a great towing experience, and we do not settle for less. We offer a variety of services that will allow you and your company, or family to rest assure they are getting the best rate as possible.
Visit us


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:51
#permalink

I stumbled across this blog.Great article. https://tecsprint.com


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:52
#permalink

Thank you for this amazing blog. Congratulations.
https://howtolose10poundsinaweek.com


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:52
#permalink

The things i see here are very informative. Keep going. https://bargainistafashionista.com


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:53
#permalink

I can say that is one of the best articles out on the internet. https://bankncard.com


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2020 - 18:53
#permalink

I readed all the article. So informative https://vhan.net


Автор: Гость (не зарегистрирован), дата: 10 сентября, 2020 - 16:21
#permalink

This is one of the best sites i have found on the internet until now. Nice article keep going.
https://millikenconstructioninc.com/


Автор: Гость (не зарегистрирован), дата: 11 сентября, 2020 - 16:15
#permalink

Thanks for the information, very clear and simple. I will try to use it.Love the way you write. Working my way through your article links
https://vvhen.to/


Автор: Гость (не зарегистрирован), дата: 15 сентября, 2020 - 12:09
#permalink

This is one of the best articles i found on the blogs around the internet. I am really interested in seeing more of this. Keep going with the great work!
https://gzgjskpzz1m.ga


Автор: Гость (не зарегистрирован), дата: 19 сентября, 2020 - 10:56
#permalink

First of all ,you have picked a very unique theme . I think i might design something similar for a future project that i want to build .
On top of that ,i in truth enjoy most of your content pieces and your different point of view.
Thank you https://seoconsultants24.blogspot.com/


Автор: Гость (не зарегистрирован), дата: 19 сентября, 2020 - 10:56
#permalink

First of all ,you have picked a very unique theme . I think i might design something similar for a future project that i want to build .
On top of that ,i in truth enjoy most of your content pieces and your different point of view.
Thank you https://seoconsultants24.blogspot.com/


Автор: Гость (не зарегистрирован), дата: 19 сентября, 2020 - 11:34
#permalink

Nice information, many thanks to the author. It is incomprehensible to me now, but in general, the usefulness and significance is overwhelming.https://seokarma24.blogspot.com/


Автор: Гость (не зарегистрирован), дата: 19 сентября, 2020 - 15:20
#permalink

I have reviewed the article many times and I find it very impressive. The information is extremely useful especially the last part I care about that information very much. I have been looking for this certain information for a long time.
https://packseo.blogspot.com/


Автор: Гость (не зарегистрирован), дата: 23 сентября, 2020 - 16:58
#permalink

I’m gone to tell my little brother, that he should
also pay a quick visit this blog on regular basis to take updated from hottest information.
https://connectorseo.blogspot.com/


Автор: Гость (не зарегистрирован), дата: 23 сентября, 2020 - 17:06
#permalink

You have made some really good points there. I looked on the web to find out
more about the issue and found most individuals will go along with your views on this website
https://digitalseo24h.blogspot.com/


Автор: Гость (не зарегистрирован), дата: 23 сентября, 2020 - 17:13
#permalink

Fantastic blog! Do you have any helpful hints for aspiring writers?
I’m hoping to start my own site soon but I’m a little lost on everything.
https://sweetseo24h.blogspot.com/


Автор: Гость (не зарегистрирован), дата: 23 сентября, 2020 - 18:16
#permalink

I am hoping the same best effort from you in the future as well. In fact your creative writing skills has inspired me.
https://fancyseo24h.blogspot.com/


Автор: john bond (не зарегистрирован), дата: 25 сентября, 2020 - 19:14
#permalink

Thank you for such a well written article. It’s full of insightful information and entertaining descriptions. Your point of view is the best among many.
frete mudança águas claras


Автор: Jacob Smith (не зарегистрирован), дата: 19 апреля, 2022 - 18:10
#permalink

Good reply, I agree


Автор: Jacob Smith (не зарегистрирован), дата: 19 апреля, 2022 - 18:11
#permalink

Автор: Jacob Smith (не зарегистрирован), дата: 19 апреля, 2022 - 18:12
#permalink

Автор: Гость (не зарегистрирован), дата: 22 октября, 2023 - 06:43
#permalink

I love it. Thanks for sharing it and other articles here.
Here my new profiles and here it is as well.


Автор: Гость (не зарегистрирован), дата: 29 сентября, 2020 - 16:25
#permalink

You have made some really good points there. I looked on the web to find out
more about the issue and found most individuals will go along with your views on this website
https://phoenixseogeek.com/


Автор: Гость (не зарегистрирован), дата: 1 октября, 2020 - 21:56
#permalink

Nice information, many thanks to the author. It is incomprehensible to me now, but in general, the usefulness and significance is overwhelming.
https://zgjskpzz1m.ga/


Автор: osama shk (не зарегистрирован), дата: 3 октября, 2020 - 15:18
#permalink

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic.
frete mudança águas claras


Автор: john bond (не зарегистрирован), дата: 11 октября, 2020 - 14:23
#permalink

I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement the concept. Thank you for the post.
moveis sob medida brasilia


Автор: john bond (не зарегистрирован), дата: 12 октября, 2020 - 13:57
#permalink

Please continue this great work and I look forward to more of your awesome blog posts.
Cửa nhôm Việt Pháp luôn là sự lựa chọn hàng đầu cho các khu vực nhà cao tầng, chung cư


Автор: john bond (не зарегистрирован), дата: 14 октября, 2020 - 14:46
#permalink

I have bookmarked your blog, the articles are way better than other similar blogs.. thanks for a great blog!
Các loại nhôm làm cửa


Автор: john bond (не зарегистрирован), дата: 16 октября, 2020 - 13:57
#permalink

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene.
Xiaomi Electric Scooters


Автор: osama shk (не зарегистрирован), дата: 20 октября, 2020 - 12:23
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
ovente electric kettle


Автор: osama shk (не зарегистрирован), дата: 21 октября, 2020 - 12:21
#permalink

I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
ที่เที่ยวพังงา


Автор: osama shk (не зарегистрирован), дата: 26 октября, 2020 - 17:21
#permalink

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..
wimbledon


Автор: osama shk (не зарегистрирован), дата: 27 октября, 2020 - 16:09
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
https://lilpeepmerch.com/


Автор: john bond (не зарегистрирован), дата: 30 октября, 2020 - 15:23
#permalink

I can set up my new idea from this post. It gives in depth information. Thanks for this valuable information for all,..
MBDI Dépannage Remorquage Transport à Roubaix et ses environs


Автор: osama shk (не зарегистрирован), дата: 7 ноября, 2020 - 11:32
#permalink

This article gives the light in which we can observe the reality. This is very nice one and gives indepth information. Thanks for this nice article.
Seven Cities Church VA


Автор: osama shk (не зарегистрирован), дата: 12 ноября, 2020 - 12:54
#permalink

Thanks for taking the time to discuss this, I feel strongly that love and read more on this topic. If possible, such as gain knowledge, would you mind updating your blog with additional information? It is very useful for me.
for more information


Автор: osama shk (не зарегистрирован), дата: 20 ноября, 2020 - 16:07
#permalink

I have not any word to appreciate this post.....Really i am impressed from this post....the person who create this post it was a great human..thanks for shared this with us.
financial coach marketing


Автор: 먹튀검증업체 (не зарегистрирован), дата: 22 ноября, 2020 - 05:44
#permalink

This is a great article thanks for sharing this informative information. I will visit your blog regularly for some latest post. 먹튀검증업체


Автор: 사업자대출 (не зарегистрирован), дата: 22 ноября, 2020 - 05:45
#permalink

Thanks so much for this information.
I have to let you know I concur on several of the points you make here and others may require some further review,
but I can see your viewpoint. 사업자대출


Автор: osama shk (не зарегистрирован), дата: 22 ноября, 2020 - 19:28
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
دورات اونلاين


Автор: osama shk (не зарегистрирован), дата: 28 ноября, 2020 - 12:57
#permalink

I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
Seven Cities Church


Автор: osama shk (не зарегистрирован), дата: 7 декабря, 2020 - 14:06
#permalink

Thank you so much for the post you do. I like your post and all you share with us is up to date and quite informative, i would like to bookmark the page so i can come here again to read you, as you have done a wonderful job.
vận chuyển ô tô bắc nam


Автор: osama shk (не зарегистрирован), дата: 7 декабря, 2020 - 16:15
#permalink

This article is an appealing wealth of informative data that is interesting and well-written. I commend your hard work on this and thank you for this information. You’ve got what it takes to get attention.
solicitor Tbilisi


Автор: Гость (не зарегистрирован), дата: 10 декабря, 2020 - 20:10
#permalink

This is highly information, crisp and clear. You have a way of writing compelling information that sparks much interest.
https://larkenequity.com/ https://larkenequity.com//


Автор: Гость (не зарегистрирован), дата: 14 декабря, 2020 - 17:18
#permalink

Wow very good post, please dont stop posting things like this because ie really enjoy this
https://hrma-llc.com/
https://hrma-llc.com/


Автор: Гость (не зарегистрирован), дата: 14 декабря, 2020 - 17:33
#permalink

You are a very persuasive writer. I can see this in your article. You have a way of writing compelling information that sparks much interest.
https://nuestropsicologoenmadrid.com/
https://nuestropsicologoenmadrid.com/


Автор: Гость (не зарегистрирован), дата: 14 декабря, 2020 - 18:16
#permalink

I wish more authors of this type of content Wow.!This is highly information, crisp and clear. You have a way of writing compelling information that sparks much interest.!!!
https://cremationconsultancy.com/ https://cremationconsultancy.com//


Автор: Гость (не зарегистрирован), дата: 14 декабря, 2020 - 18:52
#permalink

This is very educational content and written well for a change. It's nice to see that some people still understand how to write a quality post!
https://i-repaircenter.nl/
https://i-repaircenter.nl/


Автор: Гость (не зарегистрирован), дата: 14 декабря, 2020 - 20:22
#permalink

I really thank you for the valuable info on this great subject and look forward to more great posts. Thanks a lot for enjoying this beauty article with me.
https://zoekmachineservices.nl/
https://zoekmachineservices.nl/


Автор: Гость (не зарегистрирован), дата: 15 декабря, 2020 - 16:09
#permalink

I do not know what to say really what you share very well and useful to the community, I feel that it makes our community much more developed
https://hetonderdelenhuis-emmen.nl/ https://hetonderdelenhuis-emmen.nl/


Автор: Гость (не зарегистрирован), дата: 15 декабря, 2020 - 16:28
#permalink

This is very educational content and written well for a change. It's nice to see that some people still understand how to write a quality post!
https://casinoonline-bet.com/
https://casinoonline-bet.com/


Автор: Гость (не зарегистрирован), дата: 15 декабря, 2020 - 16:40
#permalink

Great post! I am actually getting ready to across this information, is very helpful my friend. Also great blog here with all of the valuable information you have. Keep up the good work you are doing here
https://restorationdoctorva.com/
https://restorationdoctorva.com/


Автор: Гость (не зарегистрирован), дата: 15 декабря, 2020 - 17:49
#permalink

You are a very persuasive writer. I can see this in your article. You have a way of writing compelling information that sparks much interest.
https://fixoserror.com/
https://fixoserror.com/


Автор: Гость (не зарегистрирован), дата: 16 декабря, 2020 - 18:22
#permalink

Wow very good post, please dont stop posting things like this because ie really enjoy this
https://vvhen.to/
https://vvhen.to/


Автор: Гость (не зарегистрирован), дата: 16 декабря, 2020 - 21:24
#permalink

You are a very persuasive writer. I can see this in your article. You have a way of writing compelling information that sparks much interest.
https://millikenconstructioninc.com/
https://millikenconstructioninc.com/


Автор: Гость (не зарегистрирован), дата: 21 декабря, 2020 - 17:25
#permalink

You are a very persuasive writer. I can see this in your article. You have a way of writing compelling information that sparks much interest.
https://findcosmeticsurgeons.net/
https://findcosmeticsurgeons.net/


Автор: Гость (не зарегистрирован), дата: 21 декабря, 2020 - 18:52
#permalink

I high appreciate this post. It’s hard to find the good from the bad sometimes, but I think you’ve nailed it!
https://safetytechnology.com
https://safetytechnology.com


Автор: Гость (не зарегистрирован), дата: 21 декабря, 2020 - 18:53
#permalink

I loved your post so much I became a fan of you, promise that you will continue to share such good and knowledgeable posts even further, we will be waiting for your post thank you.
https://bestpestcontrolservices.com.au
https://bestpestcontrolservices.com.au


Автор: Гость (не зарегистрирован), дата: 22 декабря, 2020 - 18:46
#permalink

It is wonderful to be here with everyone, I have a lot of knowledge from what you share, to say thank you, the information and knowledge here helps me a lot
https://bankncard.com/
https://bankncard.com/


Автор: Гость (не зарегистрирован), дата: 22 декабря, 2020 - 19:12
#permalink

Thank you so much for sharing this great blog.Very inspiring and helpful too.Hope you continue to share more of your ideas.I will definitely love to read.
https://bargainistafashionista.com/
https://bargainistafashionista.com/


Автор: Гость (не зарегистрирован), дата: 22 декабря, 2020 - 19:24
#permalink

Your information was very useful to me. That's exactly what I've been looking for
https://howtolose10poundsinaweek.com/
https://howtolose10poundsinaweek.com/


Автор: Гость (не зарегистрирован), дата: 22 декабря, 2020 - 19:42
#permalink

This is very educational content and written well for a change. It's nice to see that some people still understand how to write a quality post.!
https://tecsprint.com/
https://tecsprint.com/


Автор: Гость (не зарегистрирован), дата: 22 декабря, 2020 - 19:56
#permalink

Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking.
https://premiereretail.com/
https://premiereretail.com/


Автор: Гость (не зарегистрирован), дата: 22 декабря, 2020 - 23:50
#permalink

The post is written in very a good manner and it contains many useful information for me.
https://happygamer.com/
https://happygamer.com/


Автор: Гость (не зарегистрирован), дата: 24 декабря, 2020 - 21:08
#permalink

Now with coronavirus is really interesting to read things liek this on the internet when you stay at home
https://closetsphoenix.com/
https://closetsphoenix.com/


Автор: Гость (не зарегистрирован), дата: 24 декабря, 2020 - 22:01
#permalink

Wow very good post, please dont stop posting things like this because ie really enjoy this
https://caboplatinum.com/
https://caboplatinum.com/


Автор: Гость (не зарегистрирован), дата: 25 декабря, 2020 - 15:05
#permalink

Thank you so much for sharing this great blog.Very inspiring and helpful too.Hope you continue to share more of your ideas.I will definitely love to read.
https://zacjohnson.com/
https://zacjohnson.com/


Автор: Гость (не зарегистрирован), дата: 25 декабря, 2020 - 15:27
#permalink

Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking.
https://blogreign.com/
https://blogreign.com/


Автор: Гость (не зарегистрирован), дата: 25 декабря, 2020 - 17:39
#permalink

The post is written in very a good manner and it contains many useful information for me.
https://blogging.org/
https:https://blogging.org/


Автор: Гость (не зарегистрирован), дата: 25 декабря, 2020 - 17:47
#permalink

Very inspiring and helpful
https://blogninja.com/
https://blogninja.com/


Автор: Гость (не зарегистрирован), дата: 25 декабря, 2020 - 18:23
#permalink

This is very educational content and written well for a change. It's nice to see that some people still understand how to write a quality post.!
https://phoenixseogeek.com/
https://phoenixseogeek.com/


Автор: Гость (не зарегистрирован), дата: 26 декабря, 2020 - 15:34
#permalink

Thank you for such a well written article. It’s full of insightful information and entertaining descriptions. Your point of view is the best among many.
https://extremevaporizers.com/
https://extremevaporizers.com/


Автор: Гость (не зарегистрирован), дата: 26 декабря, 2020 - 15:56
#permalink

this is really nice to read..informative post is very good to read..thanks a lot!
https://usemybee.com/
https://usemybee.com/


Автор: osama shk (не зарегистрирован), дата: 28 декабря, 2020 - 12:49
#permalink

You have done a great job on this article. It’s very readable and highly intelligent. You have even managed to make it understandable and easy to read. You have some real writing talent. Thank you.
find this


Автор: Гость (не зарегистрирован), дата: 28 декабря, 2020 - 15:45
#permalink

Now with coronavirus is really interesting to read things liek this on the internet when you stay at home
https://spacnetwork.com/
https://spacnetwork.com/


Автор: osama shk (не зарегистрирован), дата: 6 января, 2021 - 17:22
#permalink

I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
cable


Автор: Гость (не зарегистрирован), дата: 7 января, 2021 - 13:05
#permalink

This was really an interesting topic and I kinda agree with what you have mentioned here!
coronavirus cozumel


Автор: Гость (не зарегистрирован), дата: 7 января, 2021 - 17:42
#permalink

Very interesting discussion glad that I came across such informative post. Keep up the good work friend
https://pestcontrolcanberraarea.com.au
https://pestcontrolcanberraarea.com.au


Автор: osnaladies (не зарегистрирован), дата: 23 января, 2021 - 11:25
#permalink

It is for sure true statement. Spending time with gorgeous girls is always most amazing time you can have so feel free to drop my girls a line at sex in osnaladies will be more than happy to spend some time having fun with you!


Автор: Гость (не зарегистрирован), дата: 12 января, 2021 - 22:20
#permalink

I do not know what to say really what you share very well and useful to the community, I feel that it makes our community much more developed
https:https://emergencydental247.com/ https://emergencydental247.com/o/


Автор: Гость (не зарегистрирован), дата: 12 января, 2021 - 22:21
#permalink

It’s hard to find the good from the bad sometimes, but I think you’ve nailed it!
audigitalsolutions.com
audigitalsolutions.com


Автор: Гость (не зарегистрирован), дата: 12 января, 2021 - 22:25
#permalink

Great website and the content you shared is very informational and useful.
https://microjobs24.de https://microjobs24.de


Автор: osama shk (не зарегистрирован), дата: 13 января, 2021 - 17:58
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
carpet cleaning services


Автор: Гость (не зарегистрирован), дата: 22 января, 2021 - 19:42
#permalink

It is wonderful to be here with everyone, I have a lot of knowledge from what you share, to say thank you, the information and https://audigitalsolutions.com/
https://audigitalsolutions.com/


Автор: kassel ladies (не зарегистрирован), дата: 23 января, 2021 - 09:46
#permalink

Great sexy chat experience only at kassel ladies


Автор: Гость (не зарегистрирован), дата: 27 января, 2021 - 12:37
#permalink

Now with coronavirus is really interesting to read things liek this on the internet when you stay at home
https://plasticpalletsales.com
https://plasticpalletsales.com


Автор: Гость (не зарегистрирован), дата: 27 января, 2021 - 17:25
#permalink

I have bookmarked your blog, the articles are way better than other similar blogs.. thanks for a great blog!
https://megabonuscasino.nl/
https://megabonuscasino.nl/


Автор: Гость (не зарегистрирован), дата: 27 января, 2021 - 17:51
#permalink

I do not know what to say really what you share very well and useful to the community, I feel that it makes our community much more developed
https://vosairservices.com/
https://vosairservices.com/


Автор: osama shk (не зарегистрирован), дата: 28 января, 2021 - 14:05
#permalink

I know your expertise on this. I must say we should have an online discussion on this. Writing only comments will close the discussion straight away! And will restrict the benefits from this information.
cheap cloudlinux license


Автор: Гость (не зарегистрирован), дата: 28 января, 2021 - 15:31
#permalink

Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking.
https://entutorado.com/
https://entutorado.com/


Автор: osama shk (не зарегистрирован), дата: 1 февраля, 2021 - 18:27
#permalink

Interesting topic for a blog. I have been searching the Internet for fun and came upon your website. Fabulous post. Thanks a ton for sharing your knowledge! It is great to see that some people still put in an effort into managing their websites. I'll be sure to check back again real soon.
isla mujeres mexico


Автор: osama shk (не зарегистрирован), дата: 3 февраля, 2021 - 13:46
#permalink

I haven’t any word to appreciate this post.....Really i am impressed from this post....the person who create this post it was a great human..thanks for shared this with us.
schlüsseldienste köln


Автор: osama shk (не зарегистрирован), дата: 3 февраля, 2021 - 18:03
#permalink

Nice blog and absolutely outstanding. You can do something much better but i still say this perfect.Keep trying for the best.
خانه هوشمند


Автор: Гость (не зарегистрирован), дата: 10 февраля, 2021 - 14:31
#permalink

Hey there, You have done a fantastic job. I will definitely digg it and personally recommend to my friends. I am confident they'll be benefited from this website.
https://atlanticflagpole.com
https://atlanticflagpole.com


Автор: Max1212 (не зарегистрирован), дата: 11 февраля, 2021 - 18:06
#permalink

Хорошая статья! Спасибо автора, благодаря таким людям, можно изучить JAVA не выходя из дома.
192.168.o.1


Автор: Гость (не зарегистрирован), дата: 12 февраля, 2021 - 19:24
#permalink

I appreciate, lead to I found just what I used to be taking a look for. You've ended my four day lengthy hunt! God Bless you man. Have a nice day. Bye
https://gold4vanilla.com/
https://gold4vanilla.com/


Автор: osama shk (не зарегистрирован), дата: 13 февраля, 2021 - 19:17
#permalink

Please continue this great work and I look forward to more of your awesome blog posts.
playa del carmen


Автор: Гость (не зарегистрирован), дата: 18 февраля, 2021 - 13:04
#permalink

It is appropriate time to make a few plans for the future and it's time to be happy. I've learn this publish and if I may just I want to counsel you some attention-grabbing things or tips. Maybe you could write subsequent articles regarding this article. I wish to learn even more issues approximately it!
https://schmidtchristmasmarket.com/
https://schmidtchristmasmarket.com/


Автор: farhan (не зарегистрирован), дата: 22 февраля, 2021 - 13:33
#permalink

This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free.
yucatan cenotes map


Автор: farhan (не зарегистрирован), дата: 22 февраля, 2021 - 13:35
#permalink

This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free.
cenotes en tulum mexico


Автор: Гость (не зарегистрирован), дата: 23 февраля, 2021 - 13:43
#permalink

Attractive component of content. I just stumbled upon your weblog and in accession capital to say that I acquire actually enjoyed account your weblog posts. Any way I will be subscribing in your feeds or even I achievement you get admission to consistently fast.
https://whispersandhoney.com/
https://whispersandhoney.com/


Автор: osama shk (не зарегистрирован), дата: 27 февраля, 2021 - 13:08
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
rumah pintar


Автор: Гость (не зарегистрирован), дата: 3 марта, 2021 - 12:24
#permalink

Hi I am so delighted I found your webpage, I really found you by mistake, while I was browsing on Bing for something else, Anyhow I am here now and would just like to say many thanks for a remarkable post and a all round enjoyable blog (I also love the theme/design), I don’t have time to go through it all at the minute but I have bookmarked it and also included your RSS feeds, so when I have time I will be back to read much more, Please do keep up the excellent work.
https://eureka-examens.nl/
https://eureka-examens.nl/


Автор: Гость (не зарегистрирован), дата: 3 марта, 2021 - 12:36
#permalink

Hello, i believe that i noticed you visited my weblog so i came to return the favor?.I'm attempting to in finding issues to improve my web site!I suppose its adequate to make use of some of your ideas!!
https://cbtresultaatuitopleiden.nl/
https://cbtresultaatuitopleiden.nl/


Автор: DIANNEYUHIALEAH (не зарегистрирован), дата: 19 апреля, 2022 - 19:31
#permalink

here in Hialeah Tow Truck, we have been proud to service Hialeah, FL and the surrounding area for years.
Affordable Fast Towing Service in Hialeah, FL


Автор: fave fave (не зарегистрирован), дата: 23 марта, 2021 - 09:25
#permalink

Wonderful article, thanks for putting this together! This is obviously one great post. Thanks for the valuable information and insights you have so provided here.
treatnheal


Автор: fave fave (не зарегистрирован), дата: 23 марта, 2021 - 09:26
#permalink

Wonderful article, thanks for putting this together! This is obviously one great post. Thanks for the valuable information and insights you have so provided here.
treatnheal


Автор: fave fave (не зарегистрирован), дата: 28 марта, 2021 - 19:48
#permalink

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post.
Inteligentny dom


Автор: farhan fave (не зарегистрирован), дата: 28 марта, 2021 - 19:48
#permalink

This is my first time i visit here and I found so many interesting stuff in your blog especially it's discussion, thank you.
Inteligentny dom


Автор: osama shk (не зарегистрирован), дата: 30 марта, 2021 - 14:42
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
Automatyka domowa


Автор: osamsa shk (не зарегистрирован), дата: 5 апреля, 2021 - 10:19
#permalink

Great write-up, I am a big believer in commenting on blogs to inform the blog writers know that they’ve added something worthwhile to the world wide web!..
bathroom vanity


Автор: jogazy jogazy (не зарегистрирован), дата: 11 апреля, 2021 - 14:45
#permalink

Awesome article! I want people to know just how good this information is in your article. It’s interesting, compelling content. Your views are much like my own concerning this subject.
luxury resort in tulum mexico


Автор: osama shk (не зарегистрирован), дата: 13 апреля, 2021 - 13:49
#permalink

I have read a few of the articles on your website now, and I really like your style of blogging. I added it to my favorites blog site list and will be checking back soon. Please check out my site as well and let me know what you think.
covid mexico


Автор: farhan (не зарегистрирован), дата: 15 апреля, 2021 - 11:47
#permalink

Thanks for your post. I’ve been thinking about writing a very comparable post over the last couple of weeks, I’ll probably keep it short and sweet and link to this instead if thats cool. Thanks.
Hualien restaurants


Автор: farhan (не зарегистрирован), дата: 15 апреля, 2021 - 11:48
#permalink

If more people that write articles really concerned themselves with writing great content like you, more readers would be interested in their writings. Thank you for caring about your content.
Hualien restaurants


Автор: osama shk (не зарегистрирован), дата: 16 апреля, 2021 - 14:01
#permalink

Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.
How to get to Hualien from Taipei


Автор: Rheed (не зарегистрирован), дата: 20 апреля, 2021 - 20:15
#permalink

Interesting topic! towing Leesburg VA


Автор: osama shk (не зарегистрирован), дата: 22 апреля, 2021 - 21:57
#permalink

Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place..
catering greek food


Автор: osama shk (не зарегистрирован), дата: 25 апреля, 2021 - 14:06
#permalink

This type of message always inspiring and I prefer to read quality content, so happy to find good place to many here in the post, the writing is just great, thanks for the post.
cheap website traffic


Автор: Гостьsad (не зарегистрирован), дата: 29 апреля, 2021 - 16:07
#permalink

I am unable to read articles online very often, but I’m glad I did today. This is very well written and your points are well-expressed. Please, don’t ever stop writing.
Uganda Roofing


Автор: john bond (не зарегистрирован), дата: 17 мая, 2021 - 11:51
#permalink

i am for the first time here. I found this board and I in finding It truly helpful & it helped me out a lot. I hope to present something back and help others such as you helped me.
steens richmond


Автор: farhan (не зарегистрирован), дата: 19 мая, 2021 - 17:48
#permalink

Excellent and very exciting site. Love to watch. Keep Rocking.
Corretoras de Seguros


Автор: john bond (не зарегистрирован), дата: 22 мая, 2021 - 08:36
#permalink

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene.
salesforce training


Автор: john bond (не зарегистрирован), дата: 22 мая, 2021 - 08:36
#permalink

Really a great addition. I have read this marvelous post. Thanks for sharing information about it. I really like that. Thanks so lot for your convene.
salesforce training


Автор: osama shk (не зарегистрирован), дата: 23 мая, 2021 - 07:21
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
Printing in Leeds


Автор: osama shk (не зарегистрирован), дата: 23 мая, 2021 - 08:44
#permalink

I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business.
Oriental Rug Cleaning


Автор: osama shk (не зарегистрирован), дата: 25 мая, 2021 - 14:32
#permalink

I know your expertise on this. I must say we should have an online discussion on this. Writing only comments will close the discussion straight away! And will restrict the benefits from this information.
RC toy car


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

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 13 =
Введите результат. Например, для 1+3, введите 4.
 
Текущий раздел
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum