日期:2014-05-16  浏览次数:20358 次

javascript一些技巧

你是否碰到过一个这样的问题:

(1)? 在项目开发中,某一个页面上定义了一个js函数,但确发现这个函数根本没有执行?

???????? 最终发现:是这个页面还引入了其它的JS文件,而JS文件中的函数 自已在文件内定义的函数名相同。

?

???????? 解决方案:两种。

????????? 一.?? 是修改JS函数名,同时建议自已以后定义JS的函数尽量不要定义 较为普通的文件名。

????????? 二.?? 是给JS函数添加命名空间。

???????? 如下:

????????
var foospace={};  

foospace.derp=function() { alert(“one”); }  

foospace.derp();  
?(2)? 要说一下"#" 和 javascript:void(0) 。
?????????? 前几天做的一个项目中,使用了 javascript:void(0), 能够进入action ,但是不能进入action的响应页面。
?????????? 直接在地址栏中输入action的url,一切正常,刚开始怀疑是iframe框的客户端缓存问题,添加了后,还是不正常,最后实在没辙了,用#替代了,竟然好了。
?????????? 原因:javascript:void(0),会对页面的整体刷新有影响,当需要整体刷新页面时,请不要使用javascript:void(0)
????????? 其它一些关于这块的资料摘要:
???????? 在开发过程中经常使用<a href="#"/>,可是在点击这个链接的时候,总是跳到页面的顶端,如果滚动条很长的话,并且已经阅览的页面底部的时候,给用户带来很大的困扰。
??????? 为什么会出现这种情况呢,查阅资料发现,#代表一个锚点,并且这个锚点是在页面的顶部,所以每次点击这个链接都会跳到页面顶部。 如果我们不想让页面跳动的话可以使用javascript:void(0)代替#,页面就不会发生跳动了。增强了用户的体验度。 其实: # 也可以,你只需要 onclick="return false" 即可。
?????? http://jacki6.iteye.com/blog/477958
???(3) javascript定义变量时,最好先定义变量,再进行使用。虽然集成开发环境都有ctrl + f ,但看起代码来很崩溃。