这是dedecms里关于顶一下功能的代码,里面的continue、break到底起什么作用?另外这个j又是干啥的呢?不是很明白,哪位高手帮我解读一下?
function postDigg(ftype,aid)
{
var taget_obj = document.getElementById('newdigg');
var saveid = GetCookie('diggid');
if(saveid != null)
{
var saveids = saveid.split(',');
var hasid = false;
saveid = '';
j = 1;
for(i=saveids.length-1;i>=0;i--)
{
if(saveids[i]==aid && hasid) continue;
else {
if(saveids[i]==aid && !hasid) hasid = true;
saveid += (saveid=='' ? saveids[i] : ','+saveids[i]);
j++;
if(j==20 && hasid) break;
if(j==19 && !hasid) break;
}
}
if(hasid) { alert("您已经顶过该帖,请不要重复顶帖 !"); return; }
else saveid += ','+aid;
SetCookie('diggid',saveid,1);
}
else
{
SetCookie('diggid',aid,1);
}
myajax = new DedeAjax(taget_obj,false,false,'','','');
var url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action="+ftype+"&id="+aid;
myajax.SendGet2(url);
}
那个 j 从当前代码来说是可以没有的,之所以有这个 j 是因为这段代码写的很烂。
aid 是当前帖子的id
saveid 是已经顶过帖子的id,以逗号隔开。例如:1,2,3,4,5
他想通过cookie记录当前用户已经顶过帖子的id,然后根据aid来判断是否顶过了,顶过了就提示,否则就顶贴,并把当前aid加入到cookie里面。
他这个如果不在digg_ajax.php里面做是否顶过贴的判断,用户清除了cookie这代码会出bug。
这种东西后端也必须判断。
从代码上来看,应该不能取消顶贴,否则他这个就有bug了,中间的continue之类的东西写的太烂了导致你看不懂,我给你改进一下代码,你就懂了,其实根本不需要那么复杂
function postDigg(ftype, aid) {C语言帮忙分析这段代码怎么理解,拜谢!!!
4、循环找到最大值对应的数组下标,这个循环其实效率很低,应该在上一个循环里找到最大值就记录下标。总体这代码不太行,有隐患而且效率低。
请高手帮忙分析下这段代码
那个 j 从当前代码来说是可以没有的,之所以有这个 j 是因为这段代码写的很烂。aid 是当前帖子的id saveid 是已经顶过帖子的id,以逗号隔开。例如:1,2,3,4,5 他想通过cookie记录当前用户已经顶过帖子的id,然后根据aid来判断是否顶过了,顶过了就提示,否则就顶贴,并把当前aid加入到cookie里...
请大家帮忙分析下这段代码.(奖励分数50)
边形边界。而本算法在任意比例尺,任意格网情况下都可非常好的实现等值 线的充填。 锯齿状多边形边界 Fig.5 Zigzag polygon boundaries “Win Surfer”是微机上应用很普遍的一种绘图软件,功能强大,速度快捷;笔者 把该算法的计算速度与“Win Surfer”软件对比了一下,速度不亚于“Win Surfer”软 件。笔者发现,在...
请高手帮忙分析一下错误代码:0*40000080
错误分析:通常是有硬件引起的.(似乎蓝屏与硬件错误有不解之缘)解决方案:如果最近安装了新硬件, 请将其移除, 然后试试更换插槽和安装最新的驱动程序, 如果升级了驱动程序, 请恢复后原来的版本; 检查内存金手指是否有污染和损坏; 扫描病毒; 运行"chkdsk \/r"检查并修复磁盘错误; 检查所有硬件插卡已经插...
请高手帮忙分析以下BAT代码,运行后会造成怎样的后果!针对网吧计算机...
1)work.bat执行两个过程,一是重新调用他的父级程序Run.vbs,以形成死循环不断执行,Cmd进程不断增加,二是做一个列表系统system32目录的无用过程以增加系统负担,减缓系统反应速度,最终本机会失去反应.2)copy.bat,拷贝D盘到C,E到C,C到D,无论目的如何都比较不聪明,且算是增加系统负担吧.3)ping.bat...
VB高手帮忙分析下 这段代码是干嘛的
咳咳,这不是vb代码!是批处理!!3389 >>典型病毒特征 net1 user root root \/add >>3389.txt 新建一个叫root的用户,密码为root net1 localgroup administrators root\/add >>3389.txt 把root用户添加到管理员组 清除痕迹 del 3389.txt del xiaonan.txt del %0 对注册表进行操作 REG ADD ...
蓝屏代码,帮忙分析下
◆错误分析:主要是由问题的驱动程序、有缺陷或不兼容的硬件与软件造成的. 从技术角度讲. 表明在内核模式中存在以太高的进程内部请求级别(IRQL)访问其没有权限访问的内存地址. ◇解决方案:请用前面介绍的解决方案中的2、3、5、8、9方案尝试排除. 2、0x00000012:TRAP_CAUSE_UNKNOWN ◆错误分析:如果遇到这个错误...
请高手帮忙分析一下
所以:你这个代码没有任何意义,研究这种代码也无任何意义。原因:不同编译器对自增运算符的处理不一样。但有一点是一样的,将自增运算符作为一条单独的语句,明确的使用。但是你的题目我还是可以帮你解释一下:首先你要明白printf的参数传递规则是 :右-->坐。其次你要明白连续的&&运算符,当第一...
求C语言高手帮忙分析代码
他们通常都愿意分享知识和经验。因此,尊重他们的付出,如果他们的回答对您有帮助,请表示感谢。这不仅鼓励了他们的参与,也建立了良好的社区氛围。总之,有效沟通和明确表述问题对于获得高质量的代码分析帮助至关重要。遵循上述建议,您将更有可能得到具体、实用的解决方案,提高编程技能和解决问题的能力。
有高手帮忙分析下面代码含义么?VB新手求教
...后面语句类似:处理其他功能键 至于前面:Dim shiftDown, ctrlDown, altDown, tabDown shiftDown = (Shift And vbShiftMask) > 0 ctrlDown = (Shift And vbCtrlMask) > 0 altDown = (Shift And vbAltMask) > 0 本意应该是要考虑是否同时按下shift等3个特殊功能键的,但是据后面程序来看,...