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>
出现了字符型常量未定义完,今天我就是弄了这个弄了一个下午,当你出现这个问题的时候一定是把字符串断开了由于“;”或者是一个小小的空格。说这些只是希望大家遇到这样的问题可以解决的。