解释这个代码
问题描述:
我需要了解什么呢代码做
这个页面是在我的博客,我还没有创建它的页面的解释这个代码
var u = location.href, h = u.substr(u.indexOf('#') + 1).split('&'), t, r;
try {
t = h[0] === '..' ? parent.parent : parent.frames[h[0]];
r = t.gadgets.rpc.receive;
} catch (e) {
}
r && r(h);
答
- 在本地定义变量u,h,t和r
- 将u设置为当前的URL
- 设h为
&
划定的值后#
。 (这意味着父对象上的帧对象的属性h [0]) - 如果t有属性t.gadgets.rpc.receive;然后将其设置为r
- 如果r,则对h调用r。
- ...?
- Profit
+0
+ 1,但建议增加:7.,8.利润。 –
+0
@Chris YES!绝对。 – cwallenpoole
答
它访问基于所述URL向上的哈希部分的帧,直到第一&
。因此,网址中的#
和&
之间的所有内容。然后它从框架中获取一个名为rpc gadget的东西(我不知道该对象是什么),并将一个名为r的变量设置为该对象的receive函数。如果该函数存在,它将在第一个#
拆分为&
之后的整个url中的所有数组上调用该函数。
我希望能够解释得很好。
看起来像一些缩小的代码....你想要什么? – Neal
它的哪些部分不了解?第一行创建了一些变量,try块寻找一个名为't.gadgets.rpc.receive'的方法并吸收一个异常(坏习惯),最后一行调用'r()',如果它被分配到try块。 –
这不是太多的代码。只需重写它就可以做到你所需要的,并使其易于阅读。 – Maxx