2016-01-28 2 views
2

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

var a = ['This is a string', {'name': 'Test User'}, 90, undefined, 'Another String', null, function(){return 'This is also valid'}]; 

for(var i=0; i<a.length; i++) { 
    if(typeof a[i] === 'function') 
    console.log(a[i]()); 
    else 
    console.log(a[i]()); 
} 

Получение ошибки -

TypeError: a[i] is not a function 
+7

Проверьте 'else' части. Вам нужно назвать это функцией? – Tushar

ответ

3

удалить вызов метода из еще

for(var i=0; i<a.length; i++) { 
    if(typeof a[i] === 'function') 
    console.log(a[i]()); 
    else 
    console.log(a[i]); //remove method call from here 
} 
+0

@Tushar вы ответили на вопрос infact за 20 секунд до меня. Это даст ошибку, если метод не является типом функции. – gurvinder372