Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   непонятка с кодом (https://javascript.ru/forum/misc/43936-neponyatka-s-kodom.html)

s100v 27.12.2013 08:10

непонятка с кодом
 
Нужно было сделать калькулятор в выпадающем диве
и вот неожиданно выловил такую вот непонятку...


h='<tr>'+h[1]+'+'+h[2]+h[1]+'–'+h[2]+h[1]+'x'+h[2]+h[1]+'/'+h[2]+'</tr>';

=> SyntaxError

Долго ломал голову где косяк...

попробывал

d='Plus';
alert(d+'+');
=> SyntaxError

Тоже самое, фатальная ошибка.

Почему так?

Antonius 27.12.2013 08:19

Во втором случае все верно и ошибки нет. Точно причина не в предшествующем коде?

s100v 27.12.2013 08:39

J.PDH=function(){ var h=[];
h[1]='<td class="p3" style="width:25%"><div class="BTN uS" onclick="J.PDC(this)">';
h[2]='</div></td>';

h[0]='<table>'+
'<tr><td colspan="4" class="p3"><input type="text" id="CLC" class="f15 fB b1 br3"></td></tr>'+
'<tr>'+h[1]+'+'+h[2]+h[1]+'–'+h[2]+h[1]+'x'+h[2]+h[1]+'/'+h[2]+'</tr>'+
'<tr>'+h[1]+'1'+h[2]+h[1]+'2'+h[2]+h[1]+'3'+h[2]+h[1]+'='+h[2]+'</tr>'+
'<tr>'+h[1]+'4'+h[2]+h[1]+'5'+h[2]+h[1]+'6'+h[2]+h[1]+'('+h[2]+'</tr>'+
'<tr>'+h[1]+'7'+h[2]+h[1]+'8'+h[2]+h[1]+'9'+h[2]+h[1]+')'+h[2]+'</tr>'+
'<tr>'+h[1]+'0'+h[2]+h[1]+'.'+h[2]+h[1]+'C'+h[2]+h[1]+'OK'+h[2]+'</tr>'+
'</table>';

return h[0];
};

вот эта функция, так не работает

А если вокруг плюса поставить пробелы то работает

Antonius 27.12.2013 08:49

Мне удается ее запустить без изменений... что-то странное.

s100v 27.12.2013 08:53

Совсем забыл, эта функция подгружается через AJAX
возможно дело в этом.

Если просто на страницу положить то ошибки не показывает.

Походу косячок кроется в пакере

http://dean.edwards.name/download/#packer

JavaScriptPacker($js,0,true,false);

который используется для удаления \n\r и \s
ну типа делает в одну строку без обфускации кода

Так что если кто сталкнётся, не ломайте голову просто пишите с пробелами ' + ' а не '+'


Часовой пояс GMT +3, время: 17:13.