转自:http://blog.csdn.net/lnn2007/article/details/6835282
alert是js人非常熟悉的东西,可以用来调试,写在这里是想警醒我自己,以后再遇到这样的问题的时候谨记这么修改。
看一个简单例子:
- <body>
- <div οnmοuseοver=alert((function(){return"abc";}()))>abc</div>
- </body>
如你想象这个弹出一个abc的对话框,可是这个是返回一个参数给alert,再弹出类似于动态执行(eval),但是如果这么写:
- <body>
- <div οnmοuseοver=alert("(function(){return"abc";}())")>abc</div>
- </body>
会出现这个错误
不要任务提示少了一个)就开始乱加括号,也可能是多了不该多的东西了?
当然也试了这样的无意义的代码
- <body>
- <script>
- //eval('alert("'+'a'+'b' '")');
- var a = 'alert("'+'a' '")';
- eval(a);
- </script>
- </body>
出现了这个错误,所以我就加了一个“;”试了试 一试我的结果就出来了:
- <body>
- <script>
- //eval('alert("'+'a'+'b' '")');
- var a = 'alert("'+'a'; '")';
- eval(a);
- </script>
- </body>
出现了字符型常量未定义完,今天我就是弄了这个弄了一个下午,当你出现这个问题的时候一定是把字符串断开了由于“;”或者是一个小小的空格。说这些只是希望大家遇到这样的问题可以解决的。