经常碰到undefined的错误,然后感觉一般都是值没取到,查阅看到undefined报错有如下三种原因
前端页面出现undefind错误只有三种原因
1.拼写错误
不管是文件名拼写错误,或是路径拼写错误。不管是字母打错了,或是符号打错了。总而言之,你打出来的东西和你想要的东西有差别,导致浏览器无法找到文件出现错误。
这种错误在有编辑器的情况下很容易发现,统一的修改方式就是将改正错误的拼写。
2.加载错误
1、载入顺序出错
浏览器加载文件时会自上而下加载,部分文件中需要引用其他文件定义的内容。如果使用该文件时他所依赖的文件还没有加载,那么这个文件就会失效。因为浏览器只会加载一遍文件,所以等页面全部加载好后这个文件也不会加载了,这就导致明明有引入对应的文件却在运行时报错,找不到这个文件。
2、文件重载问题
当你引入的文件有重复的地方,浏览器便会推翻之前加载好的重复的文件,重新加载这部分重复的文件。如果之前的文件有依赖于这部分重复的代码时,重载就会导致之前的文件全部失效,因为浏览器只会加载一遍文件,所以等页面全部加载好后哪个失效的文件也不会加载,这同样会导致明明有引入对应的文件却在运行时报错,找不到这个文件。
3.文件执行错误
异步文件执行时间出错,异步文件执行时容许其他文件在该文件等待过程中执行,该文件直到获取了回应才会继续执行。如果在该异步文件等待过程中,有一个文件向该异步文件获取回应。这时的异步文件并没有获得回应,于是该异步文件便会返回一个空值或是undefind,浏览器运行时就会因为这个值的异常而出错。