我知道这个算法是如何工作的,但是不能决定何时使用哪种算法?
是否有一些指导方针,哪一个比其他或任何考虑更好?
非常感谢.
我有这样的代码
<a id="id101" href="javascript:func1();" onclick="return func2();">Link</a>
Run Code Online (Sandbox Code Playgroud)
func2返回true或false.然后,仅当function2返回true时才调用func1.对 ?
在学习jquery时,我发现onclick不好并且折旧了,所以我将上面的代码修改为
<a id="id101" href="javascript:func1();">Link</a>
Run Code Online (Sandbox Code Playgroud)
jquery
$("#id101").click(func2() {
//same stuffs from before which was in func2
});
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是:
点击处理程序处理完毕后,我在href内部用JavaScript做什么?如果func2中的条件为真,我应该在func2的jQuery单击处理程序中调用func2内的func1吗?还是有一些优雅的解决方案?
另外,分离html和事件代码是好的,但是这里带有id的元素id101可以有许多与之关联的事件,而在大文件中,可能有很多html元素有很多事件.所以,当我有一个包含许多事件处理程序的大页面时,我怎样才能更好地了解哪个html元素具有哪些以及与之相关的事件数量?
根据要求对上述问题作出更多解释,
我的意思是id101可以有onclick,onmouseover,onmouseout和许多其他类似的事件.可以有许多这样的元素具有许多这样的事件处理程序.我怎样才能更好地发现它们?在旧式中,所有这些事件处理程序都放在一起,就像这样
<a id="id101" href="javascript:func1();" onclick="return func2();">Link</a>.
我不是说这很好,但至少我可以看到它有这个onclick事件.但现在当把它分成jquery文件时,我必须先搜索这个jquery文件id101,然后检查与之关联的事件,这可能是html文件有很多元素和相关事件处理程序的问题.有没有更好的方法来找到这些信息?
我经常要这样做,
if(condition1) {
if {condition2) { //this condition is repeated again below
//dosomething here 1 code 1
}
else{
//dosomething here 2 code 2
}
}
else {
if {condition2) { //same if condition as above
//dosomething here 3 code 3
}
else{
//dosomething here 4 code 4
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,在两种情况下只检查if(condition2)是否重复,并且dosomething在所有4个位置都不同,即code1,code2,code3,code4都是不同的代码.
那么,无论如何要使它紧凑和可读或者这很好吗?
谢谢.
在完成编辑并查看答案之后,我现在想知道这个问题是否有意义.我现在觉得很蠢.