Проверка вырожений
Привет!не могу понять задание,
Нужно проверить правильное ли это выражение или нет. Input:"+sd3-sd"; :true; Input:"c+=asd" Output:false :help: :help: |
мда,странное задание.попробуй типо
a = 1; b = undefined; alert( !!a ); alert( !!b ); |
:blink: :blink: :blink:
|
друг,по другому не знаю как.Условие странное .Если б знал,помог
|
var a, b; function test(str) { try { eval(str); return true; } catch(e) { return false; } } alert(test("b+=++a")); alert(test("++a+==4++b-")); |
eval не подходит, код может быть синтаксически правильным, но свалиться при выполнении. И переменные там могут быть любые.
Надо через new Function var str = "b+=+a++++++"; try { new Function(str); alert(" ok"); } catch(e) { alert("error"); } |
Цитата:
|
Dilettante_Pro,
eval('throw 1') eval('a()') и т.д. автор не указал, какие там у него выражения могут быть. но даже если там обычная арифметика и присваивания, то всё равно упремся в проблему неопределенных переменных. |
Часовой пояс GMT +3, время: 17:29. |