js语法报错总结

1、unexpect token
如果是在标签中报错,则是标签中的方法少了分好;
如果是在js中,则是少了引号。
2、Cannot set property onmouseover'of null是页面无法加载完毕执行代码。可以把获取元素等一系列的操作放在 window.onload=function(){} 中 ,或者尝试把js放在页面最底部
看错误,应该是未找到元素。
3、Uncaught ReferenceError: xxx is not defined at HTMLButtonElement.onclick
转载自:https://stackoverflow.com/questions/43307774/uncaughtreferenceerror-foo-is-not-defined-at-htmlanchorelement-onclick
这里你的问题是你已经定义了函数foo内部的show函数,所以它只能从showscope 访问。

因此,当您onclick='foo(this)'在HTML中使用时,您指的foowindow全局范围内的函数,这就是您获得的原因:

UncaughtReferenceError:foo未在HTMLAnchorElement.onclick中定义

你需要在函数foo之外移动函数声明show,所以它可以从window全局范围访问。

html: <div onlick="test()"></div>
js:
1、 不抱错
<script type="text/javascript">

        function test(){
            alert('sss')
        }

</script>

2、报错:
<script type="text/javascript">
function sss(){
function test(){
alert('sss')
}
}
sss();
</script>
1、 不抱错
<script type="text/javascript">
function sss(){
test = function(){
alert('sss')
}
}
sss();
</script>
如果控制台别的地方也报了错,那么有可能是别的地方的

4、TypeError: "x" is not a function
原因有三种:
1、方法名写错了:
例如:var x = document.getElementByID("foo"); //ByID
// TypeError: document.getElementByID is not a function
2、调用Object类型中不存在的方法:对于某些特殊的方法,它只属于某些特定的原生对象中,你必须提供一个回调函数才能正常运行
var obj = { a: 13, b: 37, c: 42 };
obj.map(function(num) {
return num * 2;
});
// TypeError: obj.map is not a function
5、Access control allow origin
出现Access control allow origin错误,说明是跨域请求失败!浏览器发送请求成功,同时浏览器也接收到响应了,但是限制了XmlHttpRquest接收请求,不会让xmlhttprequest接受到响应,并且在js控制台报错。这也就是我们在网络控制台(Network)能看见http 状态码是200,但是在js控制台(Console)出现js错误的原因
6、# Uncaught SyntaxError: Unexpected end of input
翻译:意外的结束。错误的原因:一般是少了一个结束符号,例如{} ()
7、Invalid regular expression flags
这个bug是代码中出现了无效的正则式表达标志。
以下转载自:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Bad_regexp_flag

什么地方出了错?

代码中有无效的正则表达式标志。在正则表达式文字中,由斜杠之间的模式组成,标志在第二个标志之后定义。它们也可以在RegExp对象的构造函数中定义(第二个参数)。正则表达式标志可以单独使用或以任何顺序一起使用,但ECMAScript中只有五个。
8、有时候页面样式加载了,可是渲染出的页面却混乱,可能的原因是js代码里面有错误(例如正则错误),从而导致整个页面的渲染不完整
9、missing ) after argument list 翻译:语法错误: 参数列表后面缺少 )
错误原因:第一大可能性:少了一个括号")"
第二大:有可能是报错行代码以及附近代码的字符串中出错了,有可能是字符串太长了,里面的各种"/"、"//"符号组合在会影响字符串的解析,从而导致报错。
解决办法:把字符串
10、Unexpected token ; 报错原因:很多时候是后台传过来的数据为空字符串导致的。例如:200 - !amount; 解决办法:200 - "!amount";
11、Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: show
借鉴自:https://stackoverflow.com/questions/16077280/uncaught-error-syntax-error-unrecognized-expression-unsupported-pseudo
报错原因:代码中出现了":"冒号等特殊符号。例如:$('.num-use').is(":show"),因为:show刀子报错。
12、Chrome请求出现Provisional headers are shown
转载自:https://blog.csdn.net/starsnow123/article/details/78675240
13、Uncaught SyntaxError: Illegal return statement
原因:在js中return 语句只能放在function中,如果不是在一个function中弹出如上错误。
解决方法:只要把这个if语句放到一个函数中即可。
14、JSON.parse(res.data): 报错:Uncaught (in promise) SyntaxError: Unexpected number in JSON at position 20 at JSON.parse (<anon
错误原因:有可能是后台返回的json字符串格式有点问题,字符串里面有number。需要后台改

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,212评论 0 1
  • 前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:...
    秀才JaneBook阅读 2,462评论 0 25
  • 突然间想起的一句话,深思后让自己感动不已。有些人,需要藏在我们心底感谢一辈子。 譬如父母恩,养育之恩,为人处事之道...
    燕子坞阅读 444评论 0 0
  • 作者:徐如非 2016年8月16日 Tuesday 晴 今天,我回读了《小狗钱钱2》这本书。这本书使我受益匪浅...
    非言飞语阅读 1,043评论 1 4