Javascript аргументы как массив? - PullRequest
0 голосов
/ 04 октября 2010

поэтому у меня есть кнопка с этим событием:

onmousedown="hideElements('\x22cartview\x22,\x22other\x22')"

и затем эта функция hideElements:

function hideElements(what)
  {
  var whichElements=[what];
  alert(whichElements[0]);
  }

Я хочу, чтобы он предупреждал "cartview", но он предупреждает

"cartview", "другой"

Мне известен объект arguments, но в этом случае я не знаю, как использовать его для доступа к отдельным строкам, разделенным запятыми. Возможно, есть простое решение, но я новичок в этом. Спасибо!

Ответы [ 2 ]

5 голосов
/ 04 октября 2010
onmousedown="hideElements([ 'cartview', 'other' ])"

и затем:

function hideElements(what) {
    alert(what[0]);
}
3 голосов
/ 04 октября 2010

Похоже, что реальная проблема в том, что вы передаете строку, а не массив. Так что вы бы сделали что-то вроде:

function hideElements(/* String */ what) {
    alert(what.split(',')[0]);
}

или с массивом:

function hideElements(/* Array<String> */ what) {
    alert(what[0]);
}

или передача нескольких строк непосредственно в функцию:

function hideElements(/* String */ what) {
    alert(arguments[0]);
}
...