Cnode 网站 为什么把js引入放到head中?
不是放到body结尾上面,会尽快让dom渲染出来,不是更好一些吗?
8 回复
这个看情况的, 方在body后面的是对dom有依赖的内容,渲染完才能运行,用onload解决. 但是这样速度会慢下来.可以把不需要dom的文件用async方式下载.
@joesonw 嗯嗯,但是 那个script标签貌似是同步的吧 你是指在script 里面的js 在用异步去下js吗?
这个应该是历史原因留下的。。。按理说应该放 body 后面的
@klesh 放前面的话是要ready事件的(大部分是要操作dom的把)
@alsotang 第三库(例如jquery)放前面吧? 不然等所有dom加载完了才开始加载js,太慢了.
@joesonw 我觉得时间是一样的, 你想加载js是那点时间 加载dom是那点时间 放在前面 后面 都无法加快整体速度,但是有个区别,js放到后面 ,能先让dom渲染出来 ,然后用户就提前看到界面,从这点来说是好的。。
@ipengyo js可以用async, 这样可以一边下载,一边渲染dom. 这样会快一些,特别是针对SPA. 放在后面要等dom渲染完才开始下载.