这是一个普遍的问题……对于DOM和Javascript,事情是自上而下加载的,但是有两个选项可以加载外部.js文件来中断此操作。异步和延迟。异步我可以理解,但这是我要问的延迟问题。使用该选项而不是仅将Script标签在DOM中移至更低的目的是什么?仅仅是为了保持javascript调用的组织性,“此.js与该函数调用一起使用”,但想在代码中将它们直观地保持在一起,还是有其他原因?我似乎找不到为什么defer属性有用的解释或示例。
将脚本负载进一步移到DOM下还是使用defer属性是更好的做法吗?
出现这个问题是因为我最近正在调试某人的文件,它们在script标记内有很多属性(有点混乱),无法弄清楚为什么在DOM后面的函数调用无法正常工作。在我错过的所有其他属性中都埋藏了一个defer属性,因此在调用之前未定义该函数。