奇怪‘6 - + 1’用eval 也能算出结果,何解.... 如题 var s = ' 6 + - 1'; try{ var t = eval(s); alert(t); }catch(e){ alert(e); }能够算出来结果为 5 怎么解释。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很简单,因为eval可以执行js代码,只要将可执行的字符串类型的js代码发到eval中,那么eval就会执行这个字符串类型的js代码而 6+ -1就想上面说的6+(-1),因为正负号(+/-)优先级别高于加减,所以等于5 LZ说的测试出来了...我是问的LZ,为啥我这么写运行错误 不好意思 今天才来回复 “6---1,6+++1我报错呢....”能够运行吧 可能是写法不同 我是这样写的var s = 6 + + + 1;var ss = '6 + + + 1';alert('s='+s);alert(eval(ss));这样能够运行 都是 7我这里为了方便说清楚问题 把本来是变量的字段换成了 数值后来这个问题我确实没办法解决 就用了一个比较笨的办法判断 变量出现的个数 和 运算符出现的个数 都统计出来 变量个数 必须比 运算符出现的个数 多一个。这样有会问题不?其实这个问题 我要解决的问题是判断 一个算术表达式的正确性 比如 页面上让输入 aa+bb-cc/dd (支持括号)等 aa ,bb cc,dd 是对应数据库中的数字字段 想这样拼凑出 支持简单运算的sql。先把这些字符 解释成 1+1-1/1 (把所有的字段都用1代替)假如能运算成功 就说明表达式正确 不能则错误所以 就出现了上面的 情况判断不了。哪位兄台还有没有更好的办法判断表达式正确性 望指教.. js 删除某个元素下的ul标记 新人请教关于js控制div的显示与隐藏的问题 在线等 谢谢啦 使用Javascript 来判断那radio的选中 求一个用户名的正则 给一个元素添加事件的问题 怎么样获得图片的某个点位的坐标?????????高手请指点 淘宝研发的KISSY框架 能作为个人网站应用么 關于'/'這個標記 文本框 超难问题:用脚本触发select元素的点击事件? 如何在点击的位置插入字符 用Ext的GroupHeaderGrid ,为什么我做的表头老是不合并的
而 6+ -1就想上面说的6+(-1),因为正负号(+/-)优先级别高于加减,所以等于5
“6---1,6+++1我报错呢....”
能够运行吧 可能是写法不同
我是这样写的var s = 6 + + + 1;
var ss = '6 + + + 1';
alert('s='+s);
alert(eval(ss));
这样能够运行 都是 7我这里为了方便说清楚问题 把本来是变量的字段换成了 数值
后来这个问题我确实没办法解决 就用了一个比较笨的办法
判断 变量出现的个数 和 运算符出现的个数 都统计出来
变量个数 必须比 运算符出现的个数 多一个。这样有会问题不?
其实这个问题 我要解决的问题是判断
一个算术表达式的正确性
比如 页面上让输入 aa+bb-cc/dd (支持括号)等 aa ,bb cc,dd 是对应数据库中的数字字段
想这样拼凑出 支持简单运算的sql。先把这些字符 解释成 1+1-1/1 (把所有的字段都用1代替)假如能运算成功 就说明表达式正确
不能则错误
所以 就出现了上面的 情况判断不了。哪位兄台还有没有更好的办法判断表达式正确性
望指教..