Не забывайте, что существует также передача по имени , и передача результатом значения .
Передача результатом значения подобна для передачи значением с добавленным аспектом, что значение установлено в исходной переменной, которая была передана как параметр. Это может, в некоторой степени, избежать интерференции с глобальными переменными. По-видимому, лучше в разделенной памяти, где передача ссылкой могла вызвать отсутствие страницы ( Ссылка ).
Передача по имени означает, что значения только вычисляются, когда они на самом деле используются, а не в начале процедуры. Алгол использовал передачу по имени, но интересный побочный эффект, это - он очень трудный записать процедуру подкачки ( Ссылка ). Кроме того, выражение передало, по имени переоценен каждый раз, когда к нему получают доступ, который может также иметь побочные эффекты.
I believe you are looking for
Object.prototype.toString.call(value) === "[object Array]";
This is the method that jQuery uses to check whether a passed parameter value is a function or array object. There are browser specific instances where using typeof
does not yield the correct result
Вы можете сделать это:
t = [1,2];
// Now to check if this is an array
if (t.constructor == Array)
{
alert('t is an array');
}
else
{
alert('t is NOT an array');
}
Обычно variable.constructor == Array