js是静态文件,jsp是动态文件,两个都可以用来保存复用函数。
创新互联专注于企业全网营销推广、网站重做改版、博爱网站定制设计、自适应品牌网站建设、H5页面制作、成都商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为博爱等各大城市提供网站开发制作服务。
我明白楼主的意思,将某些javascript过程封装成函数放在单独的文件里可以提高复用,事实上我们在项目开发中的确有两种选择,就像楼主所说的一种是放在js文件,而另一种是放在jsp文件里。
一般来说,放在jsp文件里可以获得比较好的灵活另,例如实现国际化,将js写在jsp文件里然后配合struts的标签是很容易实现的,但是这在js文件里就很难做到。
但是js文件也有一个有点,就是可以让客户端缓存,比如说,一个网站可能有很多个页面需要引用某个js函数,如果这个函数放在jsp文件,然后在每个页面都include它,那么每次页面加载时都将重复下载这部分代码;但是,如果放在js文件的话,那么客户端在第一次引用该函数时下载js文件,在后面的使用中发现路径相同就直接引用本地缓存的js文件。因为它是静态文件所以能够缓存。
总结一下,放在js文件可以降低网络传输量,所以,如果不是为了必须的灵活性,应该尽量使用js文件来保存javascript代码。
如果只是想做CSS排版,写写简单的脚本特效那种初级程序员,只需会javascript语法,会用jQuery来操作DOM即可。
如果想深入发展(如更强大的网页UI、最近比较流行的用来做手机APP等),则需要深入理解javascript的语言细节(尤其是闭包、原型、函数式编程等)、基于javascript实现面向对象开发、运用常见的设计模式。
这个问题有两个考虑:
如果是外部加载的js, 也就是通过src加载的外部js, 这种方式调用的js之所以要放到底部是因为浏览器渲染网页是从上往下,页面是用户能看到的也能直观感受到的,而js代码是用户看不到的,属于“幕后”的东西, 把“幕后”的东西放到最下面,那么用户能看得见的页面加载速度就会更快,让用户感觉页面打开速度很快,提高用户体验。
js一般会用于对页面DOM的操作,如果将js代码放到页面顶部, 基于浏览器从上往下加载的机制,有可能被操作的DOM节点还未加载完毕,JS就去操作DOM了,这明显会导致出错,放到页面底部会保险一些。
主要考虑是第一条, 第二条现在为了百分百保证DOM树渲染完毕执行JS, 基本都用load检测了。
将JavaScript的值作为参数传给java方法的方法分两种:
1、将JavaScript里面的值赋值到form表单里,然后通过表单提交的方式将数据提交到后台,交给java方法处理。参考代码:
var a = "someValue";
$("#someId").val(a);
2、直接在JavaScript里面,通过ajax来提交请求,与后台做异步请求,实现值的传递,参考代码:
$.ajax({
method:"post",
url:"xxx",
data:{somevalues},
success:function(data){
//do something with data.
}
});