一: js 在页面中的加载顺序
1、页面上的 js 代码时 html 代码的一部分,所以页面加载的时候是由上而下加载。所以 js 加载的顺序也就是页面中
2、在 js 脚本中定义的全局变量和函数,都可以在后面的脚本中调用。变量的调用,必须是前面已经声明了的,否则变量返回的值是 undefined。同一段脚本中,函数定义可以出现在函数的调用后面;若函数的定义和调用在两个脚本段中,函数调用在函数定义之前就会报函数未定义错误。
3、js 中出现 ajax 的异步加载。异步加载可能会导致语句的执行顺序并不是按照语句的出现顺序来执行,因为异步加载时间过长,从而先执行了后面的 js 代码,这种情况可以将其设置为同步执行。
二: 外部 JS 获取 JSP 页面的变量
外部 JS 文件中是不能用 <%= %> 获取 JAVA 中的数据的,也不能用 EL 表达式获取,要是想获取 JSP 的数据,可以在 JSP 页面引用此外部 JS 之前在内部 JS 中申明变量接收了之后直接在外部 JS 中使用,如下图:
注意:定义变量一定要放在引入 js 之前,不然就会报变量未定义错误。
三: JS 中获取项目绝对路径
有时候 js 中用 request.getContextPath() 获取不到绝对路径。可以在 JS 中获取,如下:(一般放在 common.js 中)
- function getUrl(){
- //取绝对路径地址
- var protocol = window.location.protocol;
- var host = window.location.host;
- var pathname = window.location.pathname.split('/');
- var url = protocol+"//"+host+"/"+pathname[1];
- return url;
- }
来源: