2010-05-06 5 views
0

У меня есть сценарий, и я почти готов, но я получаю эту ошибку, и, честно говоря, я понятия не имею, что здесь не так. Я довольно новичок в Javascript, поэтому я подозреваю, что я что-то сделал в синтаксисе. Вот выдержка из сценария, содержащего строку нарушения:TypeError: Не удается найти функцию 1.0

var gc = 0; 
var seg; 
var segCount = 0; 
var groupCount = 0; 
var groupLevel = 0; 
var segments = new Array(); 
var sk = ""; 
for(gc = 0; gc <= groupLevel; gc++) 
{ 
    if(gc >= groupDelimiters.length) break; 
    if(seg.name() == groupDelimiters[gc]) 
    { 
     //ok we start another group 
     grKeys.startNewGroup(groupLevel, groupCriterionExtractors[groupLevel](segCount), groupCount); 
     groupLevel = gc + 1; //This line is flagged with the error in the title 
     groupCount++; 
    } 
} 

идеи, указатели, любая помощь будет оценена.

Редактировать - Я получил привинчен синтаксисом разметки $% * & из космоса. Вот код, который должен был появиться.

+0

Дайте мне пример данных в переменных groupDelimiters, 'grKeys' и 'groupCriterionExtractors. Просто придумайте некоторые данные, которые будут работать одинаково, если исходные данные чувствительны ... –

ответ

2

Трудно сказать без дополнительной информации, но я бы догадаться из сообщения об ошибке, что следующий код:

groupCriterionExtractors[groupLevel] 

дает значение 1.0, которое вы затем пытаетесь позвонить по телефону:

(segCount) 

Так что, как говорят:

grKeys.startNewGroup(groupLevel, 1.0(segCount), groupCount); 

Есть несколько проблем, с выше коде, например, для цикла, после того, что вы пытаетесь сделать, и некоторые тестовые данные, и я могу помочь более

+0

Darn ... точно ... Я создал массив функций, но мой алгоритм был неправильным и переполнил массив в неявное пространство. Должен был поймать этот, но ошибка компилятора послала меня в неправильном направлении. – Newtopian

0

В коде отсутствует {код отсутствует, а синтаксис for() неверен.

for ([initialExpression]; [condition]; [incrementExpression]) 

ах, да, ваш цикл for() не будет выполнять ничего, как сейчас.

+0

да, конечно .. Я отправил слишком быстро и был накручен разметкой, это искалечило часть кода. Ваш ответ дал мне хедз-ап об этом ... спасибо :-) – Newtopian

0

Это:

for(gc = 0; gc = groupDelimiters.length) break; 
    if (seg.name() == groupDelimiters[gc]) 
    ... 

Если вероятно

for (gc = 0; gc < groupDelimiters.length; gc++) { 
    if (seg.name() == groupDelimiters[gc]) 
    ... 
+0

да, вы правы, на самом деле это было просто, что синтаксис разметки и регулярное выражение, которые управляют ими, каким-то образом исказили мой код ... darn thing ... I не знаю почему, но этот синтаксис уценки действительно дает мне проблемы. Я имею в виду, что я пробовал много из них и никогда не испытывал столько трудностей с этим ... во всяком случае .. спасибо, что потратил некоторое время, чтобы ответить. – Newtopian

Смежные вопросы