2011-12-28 5 views
1

Я использовал этот оператор в своем коде для кэширования селектора jquery, и это вызывало ошибку в консоли. Ошибка была "Missing ; before statement"Ошибка jQueryJavaScript - отсутствует; перед оператором

var $medium-image-holder = $('#image_'+itemID_value); 

, где itemID_value это числовое значение. Этот оператор находится внутри цикла for

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

var $medium_image_holder = $('#image_'+itemID_value); 

Удивительно, но это сработало.

Я хочу знать, разрешено ли использование дефисов в именах переменных JavaScript. По крайней мере, я об этом не знал. Было бы очень полезно, если кто-то уточнит.

+2

Err «-» является не дефис, это минус! это не действительный символ идентификатора javascript. –

+0

@AhmedMasud Это на самом деле называется символом дефис-минус http://en.wikipedia.org/wiki/Hyphen-minus –

+0

@PenchoIlchev Я был специфичен для javascript, я не говорил о самом характере. –

ответ

1

Ваше заявление $medium-image-holder интерпретируется как $medium - image - holder ($ medium минус изображение минус держатель).

После интерпретации этого утверждения как алгебраического выражения вы пытаетесь установить его результат в значение с другим утверждением (=$('#image_'+itemID_value)), что недопустимо. Вот откуда приходит ваше сообщение об ошибке.

+0

спасибо за объяснение. но ошибка msg ошибочна. что ты говоришь? как вы связываете ошибку msg с funda? – Abhishek

+0

Да, сообщение об ошибке вводит в заблуждение, но иногда это происходит с сообщениями об ошибках. Удалите точку с запятой или закрывающую скобку в коде Pascal или C, а затем попытайтесь найти ошибку в коде. – Residuum

4

Действительно, дефисы не разрешено в именах переменных.

+0

Спасибо, но это была явно опечатка. –

+0

Вы имеете в виду дефисы? –

+0

Спасибо за исправление, Pencho :) – mdm

3

MDC Guidelines for variable names state;

JavaScript идентификатор должен начинаться с буквы, подчеркивания (_), или знак доллара ($); последующие символы также могут быть цифрами (0-9). Поскольку JavaScript чувствителен к регистру, буквы включают символы «A» - «Z» (верхний регистр) и символы «a» - «z» (строчные буквы).

+0

Я знал это, но я интерпретировал его так, как если бы мы могли использовать - в середине строки – Abhishek

0

ява скрипт не позволяет дефису в объявлении переменного имени переменного имени может содержать только цифры алфавитов или подчеркивания кроме того имя переменного должно начинаться только с алфавитом именами переменных не может начинаться с цифрами

веселит

+1

$ также разрешено – Abhishek

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