объясните пожалуйста код ниже - PullRequest
1 голос
/ 24 декабря 2010
var anArray = ['one','two','three'];
$.each(anArray,function(n,value) {
//do something here
});
var anObject = {one:1, two:2, three:3};
$.each(anObject,function(name,value) {
//do something here
});

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

Ответы [ 3 ]

1 голос
/ 24 декабря 2010

В $.each(), n (первый параметр) - номер индекса текущей итерации массива (или имя ключа для объекта), а value (второй параметр) - значение элемент по текущему индексу.

Они передаются в качестве аргументов функции, которую вы передали $.each().

Таким образом, с учетом массива каждая итерация в цикле будет выглядеть так:

n == 0, value == 'one'
n == 1, value == 'two'
n == 2, value == 'three'

Для Объекта это было бы так:

name == 'one', value == 1
name == 'two', value == 2
name == 'three', value == 3

Простой способ проверить это - записать переменные в консоль.

Вместо:

// do something here

есть:

console.log( n, value );    // for the Array
console.log( name, value ); // for the Object

"здесь мы нигде не заявляли ..."

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

1 голос
/ 24 декабря 2010
jQuery.each( collection, callback(indexInArray, valueOfElement) )

Здесь n - это индекс в массиве, который передается, пока обратный вызов работает над каждым элементом anArray (или именем каждого свойства anObject).Читать http://api.jquery.com/jQuery.each/

1 голос
/ 24 декабря 2010

См. Jquery. Каждая ссылка на функцию http://api.jquery.com/jQuery.each/

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

name  : Index in Array
value : Current Value of the element

nсовпадает с Name, только имя переменной изменяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...